Salut tout le monde, j'ai une procédure stockée dans laquelle je dois faire une 1ère requête et récupérer le nombre d'enregistrement dans une variable puis selon la valeur trouvée je dois effectuer un traitement spécifique.
Voici le corps de ma procédure stockée :
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
CREATE OR REPLACE FUNCTION "theriaque"."get_the_spe_statut" (numeric) RETURNS "pg_catalog"."refcursor" AS
$body$
DECLARE
  IDSPE ALIAS FOR $1;  
  curRet REFCURSOR;  
BEGIN
    OPEN curRet FOR 
    SELECT COUNT(*) INTO REC_COUNT
	FROM SPAFS_SPECIALITE_AFSSAPS t1, 
         CDF_CODIF	              t2
	WHERE  t1.SPAFS_RUBCDF_NUMERO_PK IN ('SP','14S','CPH')
	AND t1.SPAFS_DATE_PK = (SELECT MAX(SPAFS_DATE_PK)
                         	FROM SPAFS_SPECIALITE_AFSSAPS
                        	WHERE  SPAFS_RUBCDF_NUMERO_PK IN ('SP','14S','CPH')
                        	AND    SPAFS_SP_CODE_FK_PK    = IDSPE)
	AND t2.CDF_CODE_PK         = t1.SPAFS_CDF_CODE_DOC_FK_PK
	AND t2.CDF_NUMERO_PK       = '25'
	AND t1.SPAFS_SP_CODE_FK_PK = IDSPE ;
    RETURN curRet;
/*IF w_count = 1 THEN
Mais ça ne marche pas. Est ce quelqu'un pourrait m'indiquer comment faire pour résoudre ce problème.
Merci d'avance.
Cordialement.