
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
コマンドを実行する前に動作することを確認することで、まずコマンドを手動で実行することが役に立つことがよくあります。