Isytihar dan gunakan pembolehubah dalam pertanyaan PostgreSQL
Artikel ini menerangkan cara mengisytiharkan pembolehubah dalam pertanyaan PostgreSQL 8.3 dan ke atas. Dalam MS SQL Server, sintaks pengisytiharan pembolehubah adalah mudah:
<code class="language-sql">DECLARE @myvar INT; SET @myvar = 5; SELECT * FROM somewhere WHERE something = @myvar;</code>
Walau bagaimanapun, pendekatan ini akan menimbulkan ralat dalam PostgreSQL, walaupun dokumentasi mengesyorkan menggunakan "jenis nama" yang mudah. Kod berikut akan menimbulkan ralat sintaks:
<code class="language-sql">myvar INTEGER;</code>
Penyelesaian menggunakan klausa WITH
Alternatif untuk mengisytiharkan pembolehubah dalam PostgreSQL ialah menggunakan klausa WITH. Walaupun tidak ringkas seperti kaedah dalam MS SQL Server, ia mencapai fungsi yang sama. Ambil perhatian bahawa untuk senario mudah, menggunakan klausa WITH mungkin kelihatan terlalu berlebihan:
<code class="language-sql">WITH myconstants (var1, var2) as ( values (5, 'foo') ) SELECT * FROM somewhere, myconstants WHERE something = var1 OR something_else = var2;</code>
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengisytiharkan dan Menggunakan Pembolehubah dalam Pertanyaan PostgreSQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!