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 27/02/2006, 12h10   #1
Membre confirmé
 
Inscription : septembre 2003
Messages : 302
Détails du profil
Informations personnelles :
Âge : 31

Informations forums :
Inscription : septembre 2003
Messages : 302
Points : 251
Points : 251
Par défaut variable trigger

Bonjour à tous,

je veux faire un trigger qui mette à jour les variables upd_date et upd_user de toutes mes tables. Ces 2 variables permettent de savoir quel est le dernier utilisateur à "avoir fait des conneries" sur les enregistrements . Donc au départ, j'avais fait une fonction du style :

Code :
1
2
3
4
5
BEGIN
	NEW.upd_date = current_timestamp;
	NEW.upd_user = session_user;
	RETURN NEW;
END;
Tout marchait bien dans le meilleur des mondes. Cependant, j'ai du changer le nom de ces 2 variables et elles sont toutes nommées sous cette forme premièrelettretable_upd_date et premièrelettretable_upd_user donc pour mon trigger je dois essayer de retrouver le nom de mes champs en dynamique.
J'ai donc tenté ce code :
Code :
1
2
3
4
5
6
7
BEGIN
	SELECT INTO updatedate attname FROM pg_attribute, pg_class WHERE pg_class.relname=TG_RELNAME AND pg_class.relfilenode = pg_attribute.attrelid AND attname LIKE '%_upd_date' ORDER BY 1;
	NEW.updatedate = current_timestamp;
	SELECT INTO updateuser attname FROM pg_attribute, pg_class WHERE pg_class.relname=TG_RELNAME AND pg_class.relfilenode = pg_attribute.attrelid AND attname LIKE '%_upd_usr' ORDER BY 1;
	NEW.updateuser = session_user;
	RETURN NEW;
END;
Seulement le problème est qu'il n'a pas l'air d'accepter mes variables updatedate et updateuser. Ce que je concois mais existe-t-il une solution ??

J'espère que j'ai été assez explicite. Merci d'avance.
__________________
L'héroïsme, c'est encore la meilleure façon de devenir célèbre quand on n'a pas de talent
Pierre Desproges
papy_tergnier est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/03/2006, 09h21   #2
Membre confirmé
 
Inscription : septembre 2003
Messages : 302
Détails du profil
Informations personnelles :
Âge : 31

Informations forums :
Inscription : septembre 2003
Messages : 302
Points : 251
Points : 251
personne n'a la réponse à ma question ?
même si c'est pour me dire que ce que je veux faire est impossible
__________________
L'héroïsme, c'est encore la meilleure façon de devenir célèbre quand on n'a pas de talent
Pierre Desproges
papy_tergnier 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 01h07.


 
 
 
 
Partenaires

Hébergement Web