Heim >Datenbank >MySQL-Tutorial >Wie verwende ich Variablen im psql von PostgreSQL effektiv?

Wie verwende ich Variablen im psql von PostgreSQL effektiv?

DDD
DDDOriginal
2025-01-15 11:20:44108Durchsuche

How Do I Effectively Use Variables in PostgreSQL's psql?

Verwendung von Skriptvariablen in PostgreSQLs psql

Die Art und Weise, wie benutzerdefinierte Skripte Variablen in PostgreSQL verwenden, unterscheidet sich von der in MS SQL Server. Verwenden Sie in psql den Befehl set, um Variablen zu erstellen:

<code class="language-sql">\set myvariable value</code>

Um Variablen in einer Abfrage zu ersetzen, verwenden Sie die folgende Syntax:

<code class="language-sql">SELECT * FROM :myvariable.table1;</code>

Alternativ können Sie es in einer bedingten Anweisung verwenden:

<code class="language-sql">SELECT * FROM table1 WHERE :myvariable IS NULL;</code>

Ab psql 9.1 können Variablen in Anführungszeichen erweitert werden:

<code class="language-sql">\set myvariable value
SELECT * FROM table1 WHERE column1 = :'myvariable';</code>

In Versionen vor psql 9.1, wenn Variablen in bedingten Zeichenfolgenabfragen verwendet werden, zum Beispiel:

<code class="language-sql">SELECT * FROM table1 WHERE column1 = ':myvariable';</code>

Die Variable selbst muss in Anführungszeichen gesetzt werden:

<code class="language-sql">\set myvariable 'value'</code>

Beachten Sie bei der String-Manipulation die folgenden Tipps:

<code class="language-sql">\set quoted_myvariable '\'' :myvariable '\''</code>

Dadurch werden Variablen in Anführungszeichen und ohne Anführungszeichen derselben Zeichenfolge erstellt, sodass Sie Folgendes tun können:

<code class="language-sql">INSERT INTO :myvariable.table1 SELECT * FROM table2 WHERE column1 = :quoted_myvariable;</code>

Das obige ist der detaillierte Inhalt vonWie verwende ich Variablen im psql von PostgreSQL effektiv?. 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