Anda juga bisa memasukkan parameter di baris perintah psql, atau dari file batch. Pernyataan pertama mengumpulkan detail yang diperlukan untuk menghubungkan ke database Anda.
Prompt terakhir menanyakan nilai kendala, yang akan digunakan dalam klausa kolom WHERE IN (). Ingatlah untuk mengutip tunggal jika string, dan pisahkan dengan koma:
@echo off
echo "Test for Passing Params to PGSQL"
SET server=localhost
SET /P server="Server [%server%]: "
SET database=amedatamodel
SET /P database="Database [%database%]: "
SET port=5432
SET /P port="Port [%port%]: "
SET username=postgres
SET /P username="Username [%username%]: "
SET /P bunos="Enter multiple constraint values for IN clause [%constraints%]: "
ECHO you typed %constraints%
PAUSE
REM pause
"C:\Program Files\PostgreSQL\9.0\bin\psql.exe" -h %server% -U %username% -d %database% -p %port% -e -v v1=%constraints% -f test.sql
Sekarang di file kode SQL Anda, tambahkan token v1 di dalam klausa WHERE Anda, atau di mana pun di SQL. Perhatikan bahwa token juga dapat digunakan dalam pernyataan SQL terbuka, tidak hanya dalam file. Simpan ini sebagai test.sql:
SELECT * FROM myTable
WHERE NOT someColumn IN (:v1);
Di Windows, simpan seluruh file sebagai file DOS BATch (.bat), simpan test.sql di direktori yang sama, dan luncurkan file batch.
Terima kasih untuk Dave Page, dari EnterpriseDB, untuk skrip asli yang diminta.