J'ai un petit soucis avec PostgreSQL, SGBD avec lequel je débute.
Voici la définition de la fonction à problème:
les fonctions f_dbo_XX_member() fonctionnent très bien séparément et me donnent donc le résultat voulu mais j'aimerais qu'une fonction plus générale puisse appeler tel ou tel fonction.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29 CREATE OR REPLACE FUNCTION f_select_member_info(int4) RETURNS record AS $BODY$ DECLARE memtype char(2); myrec record; BEGIN SELECT member_type FROM t_members WHERE card_id=$1 INTO memtype; IF memtype = 'EF' THEN SELECT * INTO myrec FROM f_dbo_ef_member($1); ELSIF memtype = 'AD' THEN SELECT * INTO myrec FROM f_dbo_ad_member($1); ELSE SELECT * INTO myrec FROM f_dbo_ag_member($1); END IF; RETURN myrec; END; $BODY$ LANGUAGE 'plpgsql' VOLATILE;
D'après ce que j'ai lu, je suppose que le problème vient de ma déclaration dans laquelle je précise pas de structure de retour mais je ne SAIS pas le faire puisque ces fonctions retournent des recordsets différents.
Une idée?
Partager