Misalnya, di MS-SQL, Anda dapat membuka jendela kueri dan menjalankan yang berikut ini:
DECLARE @List AS VARCHAR(8)
SELECT @List = 'foobar'
SELECT *
FROM dbo.PubLists
WHERE Name = @List
Bagaimana ini dilakukan di PostgreSQL? Bisakah itu dilakukan?
Jawaban:
Jawaban lengkapnya ada di dokumentasi resmi PostgreSQL .
Anda dapat menggunakan fitur blok kode anonim PG9.0 baru ( http://www.postgresql.org/docs/9.1/static/sql-do.html )
Anda juga bisa mendapatkan id sisipan terakhir :
sumber
;
setelahnyaEND $$
, seperti:.END $$;
)ERROR: query has no destination for result data HINT: If you want to discard the results of a SELECT, use PERFORM instead. CONTEXT: PL/pgSQL function inline_code_block line 7 at SQL statement
sumber
:
seperti variabel lainnya. @ achilles-ram-nakirekanti Anda dapat menambahkan contoh menggunakan ini dalamselect
pernyataan untuk membuat ini lebih jelas?Kamu bisa memakai:
Itu akan berhasil
sumber
psql
konsol. Anda tidak akan bisa menulis ini di SQL aplikasi Anda.postgresql
dan ini adalah alternatif yang paling tidak terburuk. Secara umum saya cukup puaspostgresql
: tetapi ini adalah kegagalan yang sangat besarBerikut adalah contoh penggunaan variabel di plpgsql:
Silahkan lihat di docs plpgsql untuk informasi lebih lanjut.
sumber
Saya telah menemukan beberapa dokumen lain yang mereka gunakan
\set
untuk mendeklarasikan variabel scripting tetapi nilainya tampaknya seperti nilai konstan dan saya menemukan cara yang dapat bertindak seperti variabel bukan variabel konstan.Ex:
Berikut
sal
adalah nilai yang ada di tabel 'emp' dancomm
merupakan nilai konstanta.sumber
Saya harus melakukan sesuatu seperti ini
sumber
Postgresql tidak memiliki variabel kosong, Anda dapat menggunakan tabel sementara. variabel hanya tersedia dalam blok kode atau sebagai fitur antarmuka pengguna.
Jika Anda membutuhkan variabel kosong, Anda dapat menggunakan tabel sementara:
sumber
Berdasarkan jawaban @ nad2000 dan jawaban @ Pavel di sini , di sinilah saya berakhir untuk skrip migrasi Jalur Terbang saya. Penanganan skenario di mana skema database diubah secara manual.
sumber
Untuk klien CLI resmi "psql" lihat di sini . Dan "pgAdmin3" 1.10 (masih dalam versi beta) memiliki " pgScript ".
sumber
Untuk menggunakan variabel, misalnya mengubah tabel:
sumber