Passer une valeur a un trigger ?
Je souhaiterai passer un argument a un trigger afin que celui-ci le passe a la fonction qu'il appelera... je m'explique
J'ai une table
livre(...,...,editeur,...) et une table editeur(nom_editeur,...)
Je souhaite lorsque j'ajoute un livre, verifier si "livre.editeur" existe dans la table editeur et sinon l'ajouter...
j'ai fait la fonction suivante afin de faire le travail :
Code:
1 2 3 4 5 6 7 8 9 10 11 12
| CREATE FUNCTION maj_editeurs() RETURNS TRIGGER AS
'
DECLARE
exist integer;
BEGIN
SELECT INTO exist COUNT(editeurs) FROM editeurs WHERE nom_editeur="TG_ARGV[0]";
IF exist ISNULL THEN
INSERT INTO editeurs(nom_editeur) VALUES("TG_ARGV[0]");
END IF;
END;
'
LANGUAGE 'plpgsql'; |
Et j'ai fait ce Trigger afin d'appeler la fonction
Code:
1 2 3
| CREATE TRIGGER livres_editeurs AFTER INSERT
ON livre FOR EACH STATEMENT
EXECUTE PROCEDURE maj_editeurs() |
Mon probleme est que je souhaite appeler la fonction avec un argument
qui serait le nom de l'éditeur (livre.editeur), mais pour cela je dois recupere ce nom dans le trigger... Comment faire ?