Bonjour à tous!
Je développe une application en Visual Basic 6 et j'utilise postgreSQL. comme SEGDR.
Je vous explique mon problème;
Dans ma base de données j'ai les tables suitantes:
-connexion qui contien les utilisateurs autorisés à se connecter à l'application;
-les autres tables (j'ai par exemple la table client)
-évenement qui est renseigner suite aux actions suivantes:INSERT, UPDATE,DELETE. Pour cela j'utilise un trigger et une fonction en plpgsql
Par exemple quand j'atoute un nouveau client, la table evenement est automatiquement renseignée suite au déclenchement du trigger.
exemple:
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
24
25
26
27
28
29 Mon trigger: CREATE TRIGGER évenement AFTER INSERT OR UPDATE OR DELETE ON client FOR EACH ROW EXECUTE PROCEDURE process_client(); Ma fonction:qui permet de renseigner la table evenement CREATE OR REPLACE FUNCTION process_client() RETURNS "trigger" AS $BODY$ BEGIN IF (TG_OP = 'DELETE') THEN INSERT INTO evenement SELECT now(), TG_TABLE_NAME, 'Suppression de ', OLD.*; RETURN OLD; ELSIF (TG_OP = 'UPDATE') THEN INSERT INTO evenementSELECT now(), TG_TABLE_NAME, 'Modification de ', OLD.*,'Nouvelle valeur', NEW.*; RETURN NEW; ELSIF (TG_OP = 'INSERT') THEN INSERT INTO evenement SELECT now(), TG_TABLE_NAME,'AJOUT de', NEW.*; RETURN NEW; END IF; RETURN NULL; END; $BODY$ LANGUAGE 'plpgsql' VOLATILE;
dans la table evenement j'obtiendrai ceci(àpres un SELECT)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 INSERT INTO client(nom,prenom) VALUES('Dupond','Dupont')
(?) ma question est:comment faire pour ajouter le nom de l'utilisateur?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Date/heure | Opération |nom |prénom |user 2008-11-22 12:44:57.984 | ajout du client |Dupond |Dupont |?
Partager