Bonjour tout le monde, j'ai crée la 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
30
31
32
33
34
35
36
37
CREATE OR REPLACE FUNCTION "theriaque"."get_the_al_fic_spe" (numeric) RETURNS "pg_catalog"."refcursor" AS
$body$
DECLARE
  CodeId ALIAS FOR $1;
  curRet REFCURSOR;
BEGIN
    OPEN curRet FOR 
    	SELECT DISTINCT t1.FGA_CODE_SQ_PK AS CODE_FICHE, 
		 t1.FGA_DATECR	              AS DATECR,
		 t1.FGA_DATEMJ	              AS DATEMJ, 
		 t1.FGA_TYPEEFFET		      AS TYPEEFFET, 
		 t1.FGA_PASSAGELAIT		      AS PASSAGELAIT,
		 t1.FGA_FIXATIONPROTEIQUE	  AS FIXPROT, 
		 t1.FGA_FIXATIONPROTEIQUE_MINI AS FIXPROTMINI,
		 t1.FGA_FIXATIONPROTEIQUE_MAXI AS FIXPROTMAXI, 
		 t1.FGA_PLASMALAIT		       AS PLASMALAIT,
		 t1.FGA_PLASMALAIT_MINI	       AS PLASMALAITMINI, 
		 t1.FGA_PLASMALAIT_MAXI        AS PLASMALAITMAXI,
		 t1.FGA_CONCENTRATION		   AS CONCENT, 
		 t1.FGA_CONCENTRATION_MINI	   AS CONCENTMINI,
		 t1.FGA_CONCENTRATION_MAXI	   AS CONCENTMAXI, 
		 t3.CDF_NOM                    AS CONCENTUNI
      FROM FGA_FICHEGRAL      t1 
       inner join FGASP_GRALSPE t2  on t1.FGA_CODE_SQ_PK = t2.FGASP_FGA_CODE_FK_PK
       left join CDF_CODIF t3 on  t1.FGA_CDF_UC_CODE_FK  = t3.CDF_CODE_PK AND  t3.CDF_NUMERO_PK= '19' 
       inner join FGAAFS_FGA_AFSSAPS t4	on t2.FGASP_SP_CODE_FK_PK = t4.FGAAFS_SP_CODE_FK_PK    
       								  AND  t4.FGAAFS_TYPEGRAL_PK  = 'A'
      WHERE  t2.FGASP_SP_CODE_FK_PK = CodeId   
      ORDER BY 1 ;
  RETURN curRet;
END;
$body$
LANGUAGE 'plpgsql'
VOLATILE
CALLED ON NULL INPUT
SECURITY INVOKER
COST 100;
Elle marche convenablement et je peux l'exécuter avec SQL Manager 2007 Lite for PostgreSQL.
Mais lorsque je veux l'exécuter autrement avec l'éditeur de commande en suivant le lien http://postgresql.developpez.com/faq...kees#appelproc, j'ai utilisé :
[CODE]select "theriaque"."get_the_al_fic_spe" (156) as (CODE_FICHE numeric)/CODE]
j'ai tjs l'erreur suivante : ERROR: a column definition list is only allowed for functions returning "record".
J'ai essayé de faire juste : get_the_al_fic_spe(156), dans ce cas j'ai un message : "unnamed portal 1".
Est ce que quelqu'un pourrait m'orienter pour trouver mon erreur.
Merci d'avance.
Cordialement