Référencement d'un champs d'une table
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.
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
|
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; |
exemple:
Code:
1 2
|
INSERT INTO client(nom,prenom) VALUES('Dupond','Dupont') |
dans la table evenement j'obtiendrai ceci(àpres un SELECT)
Code:
1 2 3
|
Date/heure | Opération |nom |prénom |user
2008-11-22 12:44:57.984 | ajout du client |Dupond |Dupont |? |
(?) ma question est:comment faire pour ajouter le nom de l'utilisateur?