Bagaimana memanggil beberapa file sql dalam satu file sql, di postgres
Misalnya saya punya aaa.sql, bbb.sql, ccc.sql.
Saya ingin menjalankan 3 file ini dari xxx.sql.
Adakah yang bisa menyarankan saya bagaimana melakukan ini.
Bagaimana memanggil beberapa file sql dalam satu file sql, di postgres
Misalnya saya punya aaa.sql, bbb.sql, ccc.sql.
Saya ingin menjalankan 3 file ini dari xxx.sql.
Adakah yang bisa menyarankan saya bagaimana melakukan ini.
Jawaban:
Jika Anda menjalankan file-file ini melalui psql
Anda ingin \i
direktif ("jalankan perintah dari file").
xxx.sql:
\i aaa.sql
\i bbb.sql
\i ccc.sql
Jika Anda melewati ini melalui beberapa program lain, Anda perlu menggabungkan file sendiri - Saya tidak percaya ada cara standar SQL untuk mengeksekusi file eksternal.
Tidak persis apa yang Anda minta, tetapi akan melayani tujuan Anda: 1) Masukkan semua file skrip Anda ke dalam folder; dan 2) menggunakan skrip bash untuk beralih melalui file Anda dan menjalankan psql. Sebagai contoh:
SCRIPTS_DIR=/home/myproject/scripts
DATABASE_NAME=database_name
for file in $SCRIPTS_DIR/*.sql
do sudo -u postgres psql $DATABASE_NAME -f $file
done
Ini sebenarnya sedikit lebih baik karena Anda tidak perlu mengetikkan nama file Anda.