Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Mengisytiharkan Pembolehubah dalam Pertanyaan PostgreSQL?

Bagaimana untuk Mengisytiharkan Pembolehubah dalam Pertanyaan PostgreSQL?

Linda Hamilton
Linda Hamiltonasal
2025-01-21 10:01:09193semak imbas

How to Declare Variables in PostgreSQL Queries?

Cara mengisytiharkan pembolehubah dalam pertanyaan PostgreSQL

Tidak seperti MS SQL Server, PostgreSQL tidak menyokong pengisytiharan pembolehubah menggunakan pernyataan DECLARE. Untuk menggunakan pembolehubah dalam pertanyaan PostgreSQL, anda boleh menggunakan klausa WITH sebagai alternatif.

Tatabahasa:

<code class="language-sql">WITH 变量名 AS (
   SELECT 表达式 AS 名称
)
SELECT *
FROM 表名
WHERE 列名 = 变量名</code>

Contoh:

Pertimbangkan pertanyaan MS SQL Server berikut:

<code class="language-sql">DECLARE @myvar INT;
SET @myvar = 5;
SELECT * FROM somewhere WHERE something = @myvar;</code>

Untuk mencapai fungsi yang sama dalam PostgreSQL menggunakan klausa WITH:

<code class="language-sql">WITH myvar AS (
   SELECT 5 AS var
)
SELECT *
FROM somewhere
WHERE something = myvar;</code>

Nota:

Walaupun klausa WITH menyediakan cara untuk mengisytiharkan pembolehubah dalam pertanyaan PostgreSQL, ia secara amnya tidak dianggap sebagai kaedah yang paling elegan atau cekap. Untuk pertanyaan kompleks yang mungkin memerlukan berbilang pembolehubah, ia boleh membawa kepada kod yang berantakan dan kurang boleh dibaca. Dalam kes ini, adalah lebih baik untuk membuat jadual sementara atau menggunakan prosedur tersimpan untuk merangkum logik yang berkaitan dengan pembolehubah.

Atas ialah kandungan terperinci Bagaimana untuk Mengisytiharkan Pembolehubah dalam Pertanyaan PostgreSQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn