Basic error handling for sqlplus
=> Handling Command errors
The option WHENEVER SQLERROR will provide an error should the output of a sqlplus command be an error. If you mistype a command (like using 'scelect' instead of 'select'), it will not be caught here, rather it will provide an 'SP2-####' error.
WHENEVER SQLERROR EXIT [{error code}|SQL.ERROR]
example
WHENEVER SQLERROR EXIT 1
=> Handling OS errors
WENEVER OSERROR EXIT [{error code}|SQL.ERROR]
=> Handling Most Errors
Using a PL/SQL block will also help catching most errors
runSelect () {
command sqlplus -S [user]/[passwd]@[sid] > /dev/null 2>&1 <
SET FEEDBACK OFF
SET LINESIZE 200
SET SERVEROUTPUT ON FORMAT WRAP
WHENEVER SQLERROR EXIT 1;
spool /tmp/[file].out
DECLARE
cursor c1 is
select [*|{column}] str
from [table];
BEGIN
for c1_rec in c1
loop
dbms_output.put_line(c1_rec.str);
end loop;
END;
/
spool off
EOF
}
Written by Victor Mendonca
Related protips
Have a fresh tip? Share with Coderwall community!
Post
Post a tip
Best
#Oracle
Authors
Sponsored by #native_company# — Learn More
#native_title#
#native_desc#