Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
Home -> Community -> Usenet -> c.d.o.server -> Re: Return value of whenever sqlerror
>> Any ideas on how to get rid of excess message content and only return a
>> valid code from within the stored proc.
>
>
> #!/bin/ksh
> # first set up all relevant environment variables.
>
> MyResult1=`sqlplus -silent $uid/$passwd <<-sqlEOF
> set serveroutput on feed off
> whenever sqlerror exit failure
> begin
> mms.test_unix_success;
> end;
> /
> exit
> sqlEOF`
> if [ $? = 0 ]; then
> echo "Success $MyResult1"
> else
> echo "Failure $MyResult1"
> fi
>
> 1. Set feed off to get rid of "PL/SQL procedure successfully completed"
> 2. Use double quotes for shell variables
Or rewrite it like this:
myResult1=$(sqlplus -S <<EOF
$uid/$passwd
set serverout on feed off
whenever sqlerror exit failure
exec mms.test_unix_success;
EOF) && printf "%s\n" "Success: $myResult1" || printf "%s\n" " Failure:
$myResult1"
Regards
Dimitre
Received on Wed Oct 18 2006 - 10:28:20 CDT