Bonjour à tous,
Je débute sur Postgre et rencontre un petit problème sur la syntaxe à utiliser pour le CASE dans une fonction.
Voici la fonction :
Ne faites pas attention au contenu, j'ai fait de l'élagage pour simplifier la recherche de l'erreur.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 REATE FUNCTION P0600 (IN V0 SMALLINT, IN V1 CHAR(5), IN V2 CHAR(5), IN V3 CHAR(8), IN V4 CHAR(8), IN V5 INTEGER, IN V6 VARCHAR(30), IN V7 CHAR(2), IN V8 CHAR(2)) RETURNS SETOF P0600_T AS $$ DECLARE REC P0600_T%ROWTYPE; I1 VARCHAR(5000); BEGIN I1 := '0'; CASE V0 WHEN 1 THEN I1 := I1 || '1'; END; FOR REC IN EXECUTE I1 LOOP RETURN NEXT REC;END LOOP; END;$$LANGUAGE 'PLPGSQL'
Voici l'erreur :
Je pense fortemment que la solution est d'une simplicité enfantine, donc merci à vous pour les éventuels éclaircissements.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 ERROR: syntax error at or near "CASE" at character 1 QUERY: CASE $1 WHEN 1 THEN $2 := $2 || '1' CONTEXT: SQL statement in PL/PgSQL function "p0600" near line 7
Partager