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 04/08/2011, 03h23   #1
Membre régulier
 
Avatar de NetLandGim
 
Homme Thomas GNIGBE
Inscription : mars 2011
Messages : 97
Détails du profil
Informations personnelles :
Nom : Homme Thomas GNIGBE
Localisation : Côte d'Ivoire

Informations forums :
Inscription : mars 2011
Messages : 97
Points : 81
Points : 81
Par défaut Récupérer les messages dans une application cliente

Bonjour
J'ai un soucis dans la récupération des messages de PostgreSQL
Certaines de mes fonctions renvoient des messages tel que

Code :
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
38
39
40
41
42
43
44
45
46
47
-- Function: f_ajout_utilisateur()
 
-- DROP FUNCTION f_ajout_utilisateur();
 
CREATE OR REPLACE FUNCTION f_ajout_utilisateur()
  RETURNS TRIGGER AS
$BODY$
 
DECLARE
nom_util TEXT;
mdp TEXT;
long_nom  INTEGER:=100000;
long_mdp  INTEGER:=10000;
id_groupe INTEGER;
 
BEGIN
IF (TG_OP='INSERT') THEN
 
nom_util ='U'||((random()*long_nom)::INTEGER)::TEXT;
mdp ='P'||((random()*long_mdp)::INTEGER)::TEXT;
 
SELECT * INTO id_groupe FROM groupeutilisateur WHERE c_nomgroupeutilisateur='Visiteur';
IF FOUND THEN
INSERT INTO loggin (c_idlogin,c_login,c_motdepasse,c_idpersonne,c_niveau,c_admin,c_expire,c_track,c_idgroupeutilisateur,c_active)
						VALUES (DEFAULT, nom_util, mdp, NEW.c_idpersonne, 0, 'f', 'f', NEW.c_track, id_groupe,'t');
 
RAISE NOTICE 'Vos codes d''accès à l''application: Utilisateur: %  Mot de passe: %',nom_util,mdp;
ELSE
RAISE EXCEPTION 'Groupe Visiteur introuvable';
END IF;
 
END IF;
 
 
 
 
IF (TG_OP='DELETE') THEN
DELETE FROM loggin WHERE c_idpersonne=OLD.c_idpersonne;
RAISE NOTICE 'L''accès à l''application a été supprimé pour Id: % Nom: % Prénoms: % ',OLD.c_idpersonne,OLD.c_nom,OLD.c_prenoms;
RETURN OLD;
END IF;
 
RETURN NULL;
 
END
$BODY$
  LANGUAGE plpgsql VOLATILE;
J'aimerais savoir comment en plus des résultats , récupérer les messages
NetLandGim est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/08/2011, 14h19   #2
Modérateur
 
Inscription : octobre 2008
Messages : 1 508
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : octobre 2008
Messages : 1 508
Points : 2 040
Points : 2 040
La manière de récupérer l'affichage des RAISE NOTICE dépend de l'API utilisée pour communiquer avec le SGBD. Ce sera différent en perl, python, php, shell/psql, C etc...

Ceci dit faire la création d'utilisateur et l'affichage utilisateur dans un trigger, c'est problématique comme architecture.
Il faudrait découper ça différemment dans une fonction de création d'utilisateur appelable directement de l'application et non en trigger d'autre chose.
estofilo est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 10h25.


 
 
 
 
Partenaires

Hébergement Web