1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| 1 - CREATE FUNCTION emp_stamp() RETURNS trigger AS $emp_stamp$
BEGIN
-- Verifie que nom_employe et salary sont donnés
IF NEW.nom_employe IS NULL THEN
RAISE EXCEPTION 'nom_employe ne peut pas être NULL';
END IF;
IF NEW.salaire IS NULL THEN
RAISE EXCEPTION '% ne peut pas avoir un salaire', NEW.nom_employe;
END IF;
-- Qui travaille pour nous si la personne doit payer pour cela ?
IF NEW.salaire < 0 THEN
RAISE EXCEPTION '% ne peut pas avoir un salaire négatif', NEW.nom_employe;
END IF;
-- Rappelons-nous qui a changé le salaire et quand
NEW.date_dermodif := current_timestamp;
NEW.utilisateur_dermodif := current_user;
2- RETURN NEW;
END;
3-$emp_stamp$ LANGUAGE plpgsql;
4- CREATE TRIGGER emp_stamp BEFORE INSERT OR UPDATE ON emp
FOR EACH ROW EXECUTE PROCEDURE emp_stamp(); |
Partager