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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 ?