Bonjour,

j'aimerai dans une fonction plpgsql obtenir le nombre de ligne que me "trouve" un select.

Pour cela j'utilise la fonction
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
GET DIAGNOSTICS var_num_result = ROW_COUNT;
voici mon code source :
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
 
DECLARE
var_total_paiement double precision;
var_prix_paye double precision;
var_prix_inscription double precision;
var_prix_adhesion double precision;
var_prix_da double precision;
var_num_result integer;
BEGIN
SELECT SUM(prix) INTO var_total_paiement FROM TBL_PAIEMENT WHERE code_facture=NEW.code_facture;
SELECT SUM(prix_inscription) INTO var_prix_inscription FROM TBL_INSCRIPTION WHERE code_facture=NEW.code_facture;
SELECT SUM(prix_droit_acces) INTO var_prix_da FROM TBL_DROIT_ACCES
WHERE code_facture=NEW.code_facture;
SELECT * FROM TBL_ADHESION WHERE code_facture=NEW.code_facture;
GET DIAGNOSTICS var_prix_adhesion = ROW_COUNT;
var_prix_paye := var_prix_da + var_inscription + (var_prix_adhesion * 4);
IF var_prix_paye == var_total_paiement THEN
UPDATE TBL_INSCRIPTION SET validite=TRUE WHERE code_facture=NEW.code_facture;
ELSE
UPDATE TBL_INSCRIPTION SET validite=FALSE WHERE code_facture=NEW.code_facture;
END IF;
RETURN NEW;
END;
Une fois la fonction executé, j'ai l'erreur suivante :

SELECT query has no destination for result data .
Pouvez vous me dire ce qui ne va pas ? ou bien me dire comment on fait pour récuperé le nombre de ligne que trouve un SELECT dans un fonction (plpgsql).

Merci