Vous n'êtes pas identifié(e).
Bonjour,
je voudrais réaliser une requête avec des boucles. J'ai étudié la doc autant que possible mais je ne parviens pas à mettre en application.
Par exemple le sql suivant :
FOR i IN 1..2 LOOP
select champ from matable;
END LOOP;
me donne systématiquement l'erreur :
ERREUR: erreur de syntaxe sur ou près de « FOR »
LINE 1: FOR i IN 1..2 LOOP
^
********** Erreur **********
ERREUR: erreur de syntaxe sur ou près de « FOR »
État SQL :42601
Caractère : 1
-----------------
J'ai essayé en direct avec pgadmin et avec plsql : pareil !
J'ai loupé quoi ? ?
on peut faire des boucles dans pgadmin ?
il faut créer des fonctions ?
pgscript ?
Je suis perdu ! ! Merci de votre aide.
Dernière modification par fr2ed (12/06/2012 12:15:52)
Hors ligne
Il faut soit créer une procédure stockée, soit utiliser la commande DO.
pgscript est aussi une possibilité.
Guillaume.
Hors ligne
Les boucles ne sont pas utilisables en sql pur. Vous pouvez le faire en pl/pgsql ou avec pgscript.
Un exemple avec les fonctions anonymes :
do
$$
begin
for i in 1..2
loop
raise notice 'test %',i;
end loop;
end;
$$
Julien.
https://rjuju.github.io/
Hors ligne
Merci pour ces précisions.
Je teste ça dès que je peux...
EDIT: J'ai réussi à faire ma boucle dans une procédure stockée. Merci
Dernière modification par fr2ed (29/08/2012 14:20:57)
Hors ligne