シェルスクリプトで2つのSQLコマンドを順次実行する方法

シェルスクリプトで2つのSQLコマンドを順次実行する方法

2つのSQLコマンドを順番に実行したいのですが、実行できません。

これは私のシェルスクリプトです

#! /bin/bash

gsutil cp gs://api-bucket-germany/order_status.csv ./order_status.csv

psql -d apidbgermany -U apidbgermany << EOF

DELETE FROM apidbgermany.order_status
\copy apidbgermany.order_status from './order_status.csv' delimiter ',' CSV;
EOF

コピーして削除する操作です。

ベストアンサー1

すべて失敗する可能性が高いです。;宣言の末尾にaがありませんDELETE。努力する:

#! /bin/bash

gsutil cp gs://api-bucket-germany/order_status.csv ./order_status.csv

psql -d apidbgermany -U apidbgermany << EOF

DELETE FROM apidbgermany.order_status;
\copy apidbgermany.order_status from './order_status.csv' delimiter ',' CSV;
EOF

スクリプトのデバッグの場合、スクリプトをリンクして切り取り、貼り付けて、スクリプトでsqlコマンドを実行する前に動作することを確認することで、まずコマンドを手動で実行することが役に立つことがよくあります。

おすすめ記事