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 : 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'
Ne faites pas attention au contenu, j'ai fait de l'élagage pour simplifier la recherche de l'erreur.

Voici l'erreur :
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
Je pense fortemment que la solution est d'une simplicité enfantine, donc merci à vous pour les éventuels éclaircissements.