Je suis nouveau à PostgreSQL et à utiliser l'outil de requête à PGADMIN. J'essaie d'exécuter des requêtes PGSQL qui utilisent des variables, mais je ne peux pas sembler avoir la syntaxe droite.
Voici une requête d'échantillon qui donne une erreur de syntaxe: P>
DECLARE num INTEGER; BEGIN num := 3; RAISE NOTICE '%', num; END;
5 Réponses :
Si vous essayez d'imprimer http://www.postgresql.org/docs/8.4/static/plpgsql-errors-et -Messages.html p> num code> (dites, pour le débogage), vous pouvez essayer:
Imprimer code> ne signifie rien dans PL / PGSQL. P> P>
Je n'ai aucune idée de ce que vous essayez d'atteindre. PostgreSQL ne prend pas en charge ce genre de syntaxe. Mots-clés similaires (sauf imprimé ?!) sont dans PL / PGSQL qui est une langue de procédure pour les fonctions de construction, pas pour écrire des requêtes SQL autonomes. P>
juste pour reformuler et "concrétiser" ce que disent les autres:
Il n'y a pas de CREATE OR REPLACE FUNCTION test() RETURNS void AS $$
DECLARE
num INTEGER;
BEGIN
num := 3;
RAISE NOTICE '%', num;
END;
$$ LANGUAGE plpgsql;
SELECT test();
Vous pouvez utiliser la déclaration DO. Par exemple:
do $$ declare num integer := 10; begin RAISE INFO 'VARIABLE: %', num; end; $$language plpgsql;
Venir du monde MSSQL / TSQL, j'ai également rencontré le même problème. Je suis très surpris que vous ne puissiez pas simplement écrire et exécuter des scripts simples PL / PGSQL dans PostgreSQL.