Le stockage de la requête postgresql entraîne des variables PL / PGSQL
La gestion efficace des résultats de la requête dans les fonctions PL / PGSQL est cruciale pour la programmation de la base de données PostgreSQL. Cela implique d'attribuer correctement la sortie d'une requête à une variable pour un traitement ultérieur.
illustrons une fonction qui vérifie la présence d'un enregistrement basé sur son identifiant:
Approche incorrecte:
La tentative suivante d'attribuer une requête directement à une variable est imparfaite:
<code class="language-sql">name = 'SELECT name FROM test_table where id = x';</code>
Cela affecte simplement la chaîne de la requête SQL à la variable, pas le résultat de la requête réel.
Approche correcte en utilisant SELECT INTO
:
La méthode appropriée utilise la déclaration SELECT INTO
:
<code class="language-sql">SELECT test_table.name INTO name FROM test_table WHERE id = x;</code>
Cela exécute la requête et stocke la valeur name
récupérée dans la variable name
. Remarquez l'utilisation de test_table.name
pour spécifier explicitement la colonne, empêchant l'ambiguïté. Si la requête renvoie plusieurs lignes, seule la valeur de la première ligne sera attribuée. Si aucune ligne n'est trouvée, name
sera défini sur NULL
. Pour gérer plusieurs lignes, envisagez d'utiliser un curseur ou d'autres techniques appropriées.
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!