Heim >Datenbank >MySQL-Tutorial >Wie deklariere ich Variablen in PostgreSQL-Abfragen?

Wie deklariere ich Variablen in PostgreSQL-Abfragen?

Linda Hamilton
Linda HamiltonOriginal
2025-01-21 10:01:09247Durchsuche

How to Declare Variables in PostgreSQL Queries?

So deklarieren Sie Variablen in PostgreSQL-Abfragen

Im Gegensatz zu MS SQL Server unterstützt PostgreSQL nicht die Deklaration von Variablen mithilfe der DECLARE-Anweisung. Um Variablen in PostgreSQL-Abfragen zu verwenden, können Sie alternativ die WITH-Klausel verwenden.

Grammatik:

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

Beispiel:

Betrachten Sie die folgende MS SQL Server-Abfrage:

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

Um die gleiche Funktionalität in PostgreSQL mit der WITH-Klausel zu erreichen:

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

Hinweis:

Obwohl die WITH-Klausel eine Möglichkeit bietet, Variablen in PostgreSQL-Abfragen zu deklarieren, wird sie im Allgemeinen nicht als die eleganteste oder effizienteste Methode angesehen. Bei komplexen Abfragen, die möglicherweise mehrere Variablen erfordern, kann dies zu unübersichtlichem und weniger lesbarem Code führen. In diesem Fall ist es besser, eine temporäre Tabelle zu erstellen oder eine gespeicherte Prozedur zu verwenden, um die mit den Variablen verbundene Logik zu kapseln.

Das obige ist der detaillierte Inhalt vonWie deklariere ich Variablen in PostgreSQL-Abfragen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn