sqlplusのsqlcodeをshの終了コードへ返す
test.sh
#!/bin/sh $ORALE_HOME/bin/sqlplus /nolog @hoge.sql SQLCODE=$? if [ $SQLCODE -ne 0 ]; then echo "ERROR!!! sqlcode[$SQLCODE]" exit -1 fi
conn user/password@foo select aaaaaaaaaaaaaaaaaaaaaa; exit
このhoge.sqlだと、test.shのSQLCODE=$?でsqlcode:204は取得出来ません。
取得する為には、hoge.sqlを以下のように変更します。
conn user/password@foo whenever sqlerror exit sql.sqlcode select aaaaaaaaaaaaaaaaaaaaaa; exit
これで、test.shを実行すると
ERROR!!! sqlcode[204]
が出力されます。