Variablen in PostgreSQL-Abfragen deklarieren und verwenden
In diesem Artikel wird beschrieben, wie Variablen in Abfragen von PostgreSQL 8.3 und höher deklariert werden. In MS SQL Server ist die Syntax der Variablendeklaration einfach:
<code class="language-sql">DECLARE @myvar INT; SET @myvar = 5; SELECT * FROM somewhere WHERE something = @myvar;</code>
Dieser Ansatz führt jedoch zu einem Fehler in PostgreSQL, obwohl in der Dokumentation die Verwendung einer einfachen „Namenstyp“-Deklaration empfohlen wird. Der folgende Code löst einen Syntaxfehler aus:
<code class="language-sql">myvar INTEGER;</code>
Lösung mit WITH-Klausel
Eine Alternative zur Deklaration von Variablen in PostgreSQL ist die Verwendung der WITH-Klausel. Obwohl sie nicht so prägnant ist wie die Methode in MS SQL Server, erreicht sie die gleiche Funktionalität. Beachten Sie, dass die Verwendung der WITH-Klausel in einfachen Szenarios möglicherweise zu redundant erscheint:
<code class="language-sql">WITH myconstants (var1, var2) as ( values (5, 'foo') ) SELECT * FROM somewhere, myconstants WHERE something = var1 OR something_else = var2;</code>
Das obige ist der detaillierte Inhalt vonWie kann ich Variablen in PostgreSQL-Abfragen deklarieren und verwenden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!