我想按顺序运行两个 sql 命令,但我无法实现它。
这是我的 shell 脚本
#! /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
以确保它在脚本中尝试之前可以正常工作,这通常会很有帮助。