Mercredi 25 mai 2011 3 25 /05 /Mai /2011 23:54

Oracle DML Trigger  Before INSERT or DELETE or UPDATE.

Un trigger est une procédure qui est géré automatiquement par la base de données.
Les déclencheurs (TRIGGERS) sont par exemple utiles pour loguer des opérations DML (INSERT, UPDATE, DELETE) d'une table.

Deux types de triggers DML différents :

• les triggers table (STATEMENT) à déclenchement unique.
• les triggers ligne (ROW) à déclenchement sur chaques lignes.

 

Syntax CREATE TRIGGER DML.

 
CREATE [ OR REPLACE ] TRIGGER [ schema. ]trigger
   { BEFORE | AFTER | INSTEAD OF }
   { DELETE | INSERT | UPDATE 
     [ OF column [, column ]... ]
}
  [ OR { DELETE | INSERT | UPDATE 
       [ OF column [, column]... ]
       }
  ]...
ON { [ schema. ]table
      }
[ FOR EACH ROW ]
     ON { [ schema. ]SCHEMA 
           }
   }
   [ WHEN (condition) ]
   { pl/sql_block } ;

 

Exemple TRIGGER Ligne DML BEFORE INSERT or DELETE or UPDATE.

 
SQL> CREATE OR REPLACE TRIGGER Log_emp
  2    BEFORE INSERT OR DELETE OR UPDATE ON emp
  3    FOR EACH ROW
  4  BEGIN
  5    IF INSERTING THEN
  6      DBMS_OUTPUT.put_line('Insert on emp ' ||' '|| USER ||' ' ||SYSDATE);
  7    ELSIF UPDATING THEN
  8      DBMS_OUTPUT.put_line('Update on emp ' ||' '|| USER ||' ' ||SYSDATE);
  9    ELSIF DELETING THEN
 10      DBMS_OUTPUT.put_line('Delete on emp ' ||' '|| USER ||' ' ||SYSDATE);
 11    END IF;
 12  END;

 

Liens en rapport avec l'article et qui sont susceptibles de vous intéresser
• Activer Désactiver Supprimer Trigger Oracle
• Types TRIGGERS Table et TRIGGERS Ligne ORACLE
Par Daniel Roesch - Publié dans : ORACLE TRIGGERS
Ecrire un commentaire - Voir les 0 commentaires
Retour à l'accueil

Rechercher Articles Oracle SQL sur ce Site.

Loading

À lire aussi…

Download PDF Oracle

Rechercher sur le site

Oracle 10G - DBA -

Syndication

  • Flux RSS des articles
Contact - C.G.U. - Rémunération en droits d'auteur - Signaler un abus - Articles les plus commentés