Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Mailing Lists -> Oracle-L -> Re: Unix script help

Re: Unix script help

From: Ron Thomas <rthomas_at_hypercom.com>
Date: Tue, 2 Mar 2004 14:08:19 -0700
Message-ID: <OF1D706166.97B40842-ON07256E4B.0073F55A@hypercom.com>

Except I'd change your if statement to test ERRCODE instead of $?. Some shells have a nasty (and correct) habit of setting $? to 0 after the assignment.

if [[ $ERRCODE -ne 0 ]] ; then

Ron Thomas
Hypercom, Inc
rthomas_at_hypercom.com
"The box said I needed to have windows 98 or better...So I installed linux."

                                                                                                                                                       
                      tanel.poder.003_at_ma                                                                                                               
                      il.ee                     To:       oracle-l_at_freelists.org                                                                       
                      Sent by:                  cc:                                                                                                    
                      oracle-l-bounce_at_fr        Subject:  Re: Unix script help                                                                         
                      eelists.org                                                                                                                      
                                                                                                                                                       
                                                                                                                                                       
                      03/02/2004 01:19                                                                                                                 
                      PM                                                                                                                               
                      Please respond to                                                                                                                
                      oracle-l                                                                                                                         
                                                                                                                                                       
                                                                                                                                                       




Hi,

Put "whenever sqlerror exit failure rollback" in the beginning of your SQL script and check the exit status of sqlplus from shell using shell pseudovariable $?

A quick example:

script.sql:



whenever sqlerror exit failure rollback
create table ....
truncate table ....
exit

shell script:



sqlplus user/password @script.sql
ERRCODE=$?
if [ "$?" -ne "0" ]; then

   echo Failure!
   exit $ERRCODE
fi


That way, any failing SQL command causes sqlplus to exit immediately and return error code 1 to caller.
Note that you can replace the "failure" string in whenever sqlerror exit failure rollback with any integer up to 255 I believe to return custom error codes from different sections of your sql script. If you return a code larger than 255, it'll wrap.

Note that you can have similar check for OS commands called from sqlplus with host command as well, you have to define "whenever oserror exit failure rollback" in your script for example.

Tanel.

> Hi
>
> I need help for following sql script. I want to put condition before
> truncate that table creation must be successful before truncate runs. The
> condition may be to check count before and after creation or tracking of
any
> ORA/warning message but I could not make up my mind. I want to put it in
> cron to run it weekly.
>
> Is any body can help to give me some tips/script itself?
>
> Regards
> Rafiq
>
>
> create table tangram.sw_save nologging
> tablespace tangram
> as select * from tangram.sw_use_t_h where sut_closed_dt > = (sysdate-10);
>
> truncate table tangram.sw_use_t_h;
>
> insert into tangram.sw_use_t_h
> select * from tangram.sw_save;
>
> commit;
>
> drop table tangram.sw_save;
>
> _________________________________________________________________
> Frustrated with dial-up? Lightning-fast Internet access for as low as
> $29.95/month. http://click.atdmt.com/AVE/go/onm00200360ave/direct/01/
>
> ----------------------------------------------------------------
> Please see the official ORACLE-L FAQ: http://www.orafaq.com
> ----------------------------------------------------------------
> To unsubscribe send email to: oracle-l-request_at_freelists.org
> put 'unsubscribe' in the subject line.
> --
> Archives are at http://www.freelists.org/archives/oracle-l/
> FAQ is at http://www.freelists.org/help/fom-serve/cache/1.html
> -----------------------------------------------------------------
>



Please see the official ORACLE-L FAQ: http://www.orafaq.com

To unsubscribe send email to: oracle-l-request_at_freelists.org put 'unsubscribe' in the subject line.
--
Archives are at http://www.freelists.org/archives/oracle-l/
FAQ is at http://www.freelists.org/help/fom-serve/cache/1.html
-----------------------------------------------------------------





----------------------------------------------------------------
Please see the official ORACLE-L FAQ: http://www.orafaq.com
----------------------------------------------------------------
To unsubscribe send email to:  oracle-l-request_at_freelists.org
put 'unsubscribe' in the subject line.
--
Archives are at http://www.freelists.org/archives/oracle-l/
FAQ is at http://www.freelists.org/help/fom-serve/cache/1.html
-----------------------------------------------------------------
Received on Tue Mar 02 2004 - 15:09:08 CST

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US