CLPでエラーハンドリングする
ちょっと調べたりしたので、こちらにメモ。
PQL*Plusのスクリプトみたく、コマンドラインのスクリプトでエラーハンドリングが出来ればいいなと。
DB2ではどうするのかなと、ちょっと調べてみました。
CLPとシェルを組み合わせて、こんな感じで。
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
db2 connect to sample
rc=`db2 -ec +o \
"select * from empp"` <- サンプルデータベースではemp表はありますが、
if $rc -eq 0 ;then empp表は存在しないのでエラーとなります
echo "ok !"
else
echo $rc "error !"
fi
exit $rc
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
204 error ! <- 実行するとこんな結果になります
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
ポイントは、db2 -ec +o です。
"-ec" はSQLCODEを返します。
"+o" は標準出力に何も出さない指定です。