Pooja25
Pooja25

Reputation: 326

How to capture sqlplus command line output in unix file

I am running below : sqlplus ABC_TT/asfddd@\"SADSS.it.uk.hibm.sdkm:1521/UGJG.UK.HIBM.SDKM\" afte that I am executing one stored procedure exec HOLD.TRWER I want to capture return code of the above stored procedure in unix file as I am running the above commands in unix. Please suggest.

Upvotes: 0

Views: 16141

Answers (3)

Vijay
Vijay

Reputation: 67221

I guess you are looking for spool

SQL> spool output.txt
SQL> select 1 from dual;

1
----------
1

SQL> spool off 

Now after you exit. the query/stroed procedure output will be stored in a file called output.txt

Upvotes: 3

user1502952
user1502952

Reputation: 1420

You can store command return value in variable

value=`command`

And then checking it's value

echo "$value"

For your case to execute oracle commands within shell script,

value=`sqlplus ABC_TT/asfddd@\"SADSS.it.uk.hibm.sdkm:1521/UGJG.UK.HIBM.SDKM\" \
       exec HOLD.TRWER`

I'm not sure about the sql query, but you can get the returned results by using

value=`oraclecommand`.

To print the returned results of oracle command,

 echo "$value"

To check whether oracle command or any other command executed successfully, just
check with $? value after executing command. Return value is 0 for success and non-zero for failure.

if [ $?=0 ]
then 
 echo "Success"
else
 echo "Failure"
fi

Upvotes: 0

Ed Morton
Ed Morton

Reputation: 203502

If by return code you mean output then:

command > file

If by return code you mean exit status then:

command
echo "$?" > file

If you mean something else, let us know.

Upvotes: 1

Related Questions