Utilisation de variables de script dans psql de PostgreSQL
La façon dont les scripts personnalisés utilisent les variables dans PostgreSQL est différente de celle de MS SQL Server. Dans psql, utilisez la commande set
pour créer des variables :
<code class="language-sql">\set myvariable value</code>
Pour remplacer des variables dans une requête, utilisez la syntaxe suivante :
<code class="language-sql">SELECT * FROM :myvariable.table1;</code>
Vous pouvez également l'utiliser dans une instruction conditionnelle :
<code class="language-sql">SELECT * FROM table1 WHERE :myvariable IS NULL;</code>
À partir de psql 9.1, les variables peuvent être développées entre guillemets :
<code class="language-sql">\set myvariable value SELECT * FROM table1 WHERE column1 = :'myvariable';</code>
Dans les versions antérieures à psql 9.1, lors de l'utilisation de variables dans des requêtes de chaînes conditionnelles, par exemple :
<code class="language-sql">SELECT * FROM table1 WHERE column1 = ':myvariable';</code>
Besoin d'inclure des guillemets autour de la variable elle-même :
<code class="language-sql">\set myvariable 'value'</code>
Pour la manipulation des chaînes, tenez compte des conseils suivants :
<code class="language-sql">\set quoted_myvariable '\'' :myvariable '\''</code>
Cela crée des variables entre guillemets et sans guillemets de la même chaîne, vous permettant d'effectuer les opérations suivantes :
<code class="language-sql">INSERT INTO :myvariable.table1 SELECT * FROM table2 WHERE column1 = :quoted_myvariable;</code>
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!