PL SQL - Trigger

Alex6319 Messages postés 1 Date d'inscription mercredi 7 décembre 2011 Statut Membre Dernière intervention 7 décembre 2011 - 7 déc. 2011 à 21:30
pradiergael Messages postés 13 Date d'inscription jeudi 7 mai 2009 Statut Membre Dernière intervention 11 décembre 2011 - 8 déc. 2011 à 23:57
Bonjour, je dois faire trois trigger en pl sql sur oracle mais je ne sais pas du tout comment faire.

je dois implémenter la contrainte : 'le salaire d'un employé ne peut pas être diminué'


je dois le réaliser dans la table emp dont les attributs sont empno, ename, job, mgr, hiredate, sal, comm, deptno.

Merci.

1 réponse

pradiergael Messages postés 13 Date d'inscription jeudi 7 mai 2009 Statut Membre Dernière intervention 11 décembre 2011
8 déc. 2011 à 23:57
regarde la doc sur les trigger

dans ton cas, un trigger "before insert or update" est appropriée.
ca devrait donner qq chose comme ça :

CREATE TRIGGER verif_service
BEFORE INSERT OR UPDATE OF sal ON emp
FOR EACH ROW 
DECLARE
  actual_sal integer;
  BEGIN
    actual_sal:=0;
    SELECT sal
    INTO actual_sal 
    FROM SERVICE 
    WHERE empno=:new.empno;
    IF (new.sal<actual_sal)
    THEN raise_application_error(-20501, 'valeur de salaire non permise');
    END IF;
  END;
0