Utiliser efficacement les variables de script dans psql
PostgreSQL utilise la commande set
pour définir des variables. Par exemple :
<code class="language-sql">\set myvariable value</code>
Une fois définies, les variables peuvent être remplacées de manière transparente. Une solution consiste à le remplacer directement, par exemple :
<code class="language-sql">SELECT * FROM :myvariable.table1;</code>
De plus, les variables peuvent également être utilisées dans les requêtes de chaînes conditionnelles. Par exemple :
<code class="language-sql">SELECT * FROM table1 WHERE column1 = :'myvariable';</code>
Mais dans les versions de psql antérieures à 9.1, si vous utilisez une variable comme valeur dans une requête de chaîne conditionnelle, vous devez inclure des guillemets dans la définition de la variable :
<code class="language-sql">\set myvariable 'value'</code>
De plus, pour générer des chaînes entre guillemets et sans guillemets à partir de variables existantes, vous pouvez utiliser l'astuce suivante :
<code class="language-sql">\set quoted_myvariable '\'' :myvariable '\''</code>
Cela permet la flexibilité d'utiliser des variables dans différents contextes de chaînes, par exemple :
<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!