シェル初心者です。
シェルでpsqlの処理件数を取得したいのですが、現状正常か異常かの結果か取得できず、悩んでおります。
最終的な目的としては実行結果が正常でないまたは処理件数が0件の場合はエラー扱いにしたいです。
以下現状のコードを抜粋したものになります。
#■shファイル
値=val
・SQL1
psql -U ユーザ名 -d データベース -h ホスト名 -p ポート番号 -f "selectInsert.sql" -v xxxx=値 -A -F,-t
#ここで処理件数が0件または正常でない(0以外の場合)場合はelseのSQL1エラーにいくようにしたい
if[$? -eq 0];then
・SQL2
psql -U ユーザ名 -d データベース -h ホスト名 -p ポート番号 -f "select.sql" -A -F,-t
#ここで処理件数が0件または正常でない(0以外の場合)場合はelseのSQL2エラーにいくようにしたい
if[$? -eq 0];then
処理~
else
echo "SQL2エラー"
exit 2
fi
else
echo "SQL1エラー"
exit 2
fi
#■selectInsert.sql
INSERT INTO "スキーマ".テーブルC VALUES(カラムA、カラムB、カラムC,カラムD, カラムE, カラムF,カラムG)
SELECT
カラム1 as カラムA,
カラム2+カラム3 as カラムB,
カラム2+カラム4 as カラムC,
now(),
'固定値',
now(),
'固定値'
FROM "スキーマ".テーブルA
UNION
SELECT
カラム5 as カラムA,
カラム6+カラム7 as カラムB,
カラム6+カラム8 as カラムC,
now(),
'固定値',
now(),
'固定値'
FROM "スキーマ".テーブルB
oder by カラムA
#■select.sql
select カラムA,カラムB,カラムC,カラムD,カラムE
FROM
"スキーマ".テーブルC
初歩的な質問で申し訳ありませんが、どなかたお知恵をお貸しください。
回答1件
あなたの回答
tips
プレビュー