1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| CREATE OR REPLACE FUNCTION functionTriggerinsertionHistorique()
returns TRIGGER AS
'
Declare
Hit_or_miss varchar(4);
BEGIN
IF NEW.FilmID NOT IN (SELECT FilmID FROM film)
THEN RAISE EXCEPTION ''FilmID est absent de la table Film'';
ELSE IF (NEW.SouscriID,NEW.UtilisID) NOT IN (Select SouscriID,UtilisID FROM souscription)
THEN RAISE EXCEPTION ''(SouscriID, UtilisID) est absent de la table Souscription'';
ELSE if (SELECT GenreID From definieSur where souscriID=NEW.souscriID and utilisID=NEW.utilisID ) IN (Select GenreID FROM caracteriser Where filmid=New.filmID) OR (SELECT ArtistID FROM comprend where souscriID=NEW.souscriID and utilisID=NEW.utilisID) IN (Select ArtistID FROM participer where FilmID=new.filmID)
THEN RAISE INFO ''HIT'';
ELSE
RAISE INFO ''MISS'';
END IF;
END IF;
END IF;
RETURN NEW;
END;'
LANGUAGE 'plpgsql'; |
Partager