쉘 스크립트에서 두 개의 SQL 명령을 순차적으로 실행하는 방법

쉘 스크립트에서 두 개의 SQL 명령을 순차적으로 실행하는 방법

두 개의 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에서 명령을 실행하기 전에 작동하는지 확인함으로써 먼저 명령을 수동으로 실행하는 것이 도움이 되는 경우가 많습니다.

관련 정보