Précédent   Forum des professionnels en informatique > Bases de données > PostgreSQL
PostgreSQL Forum PostgreSQL. Avant de poster -> F.A.Q PostGreSQL Tutoriels PostGreSQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 05/07/2004, 11h00   #1
Invité régulier
 
Inscription : juin 2004
Messages : 12
Détails du profil
Informations forums :
Inscription : juin 2004
Messages : 12
Points : 5
Points : 5
Par défaut problème avec GET DIAGNOSTICS

Bonjour,

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

Pour cela j'utilise la fonction
Code :
1
2
 
GET DIAGNOSTICS var_num_result = ROW_COUNT;
voici mon code source :
Code :
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 :

Citation:
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
hpghost est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/07/2004, 11h59   #2
Invité régulier
 
Inscription : juin 2004
Messages : 12
Détails du profil
Informations forums :
Inscription : juin 2004
Messages : 12
Points : 5
Points : 5
J'ai trouvé la solution !!

Il falait faire :
Code :
1
2
3
 
SELECT code_adhesion INTO var_num_result FROM TBL_ADHESION WHERE code_facture=NEW.code_facture; 
GET DIAGNOSTICS var_num_result = ROW_COUNT;
Merci pour vos réponses.

A+
hpghost est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 15h33.


 
 
 
 
Partenaires

Hébergement Web