Syntaxe CASE dans un CREATE FUNCTION
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 :
Code:
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' |
Ne faites pas attention au contenu, j'ai fait de l'élagage pour simplifier la recherche de l'erreur.
Voici l'erreur :
Code:
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 |
Je pense fortemment que la solution est d'une simplicité enfantine, donc merci à vous pour les éventuels éclaircissements.