Oracle
 sql >> Base de données >  >> RDS >> Oracle

Création d'un déclencheur à exécuter uniquement lorsqu'une nouvelle table est en cours de création

CREATE OR REPLACE TRIGGER 
  create_table_trigger
  AFTER CREATE ON SCHEMA
BEGIN
  IF SYS.DICTIONARY_OBJ_TYPE = 'TABLE' THEN
      ....
END;

Pour une liste des attributs EVENT, reportez-vous à cette page
http://ist.marshall.edu/ist480adbp/plsql_triggers.html (link is down)

Lien vers la machine Wayback vers le contenu du lien mort ci-dessus :https://web.archive.org/web/20110809071133/http://ist.marshall.edu/ist480adbp/plsql_triggers.html

Pour autant que je sache, dictionary_obj_type est l'un des TABLE|SEQUENCE|PROCEDURE|INDEX|FUNCTION|TYPE|PACKAGE

Et Dictionary_obj_name est juste le nom de la table/sequence/proc/etc.

  • dictionary_obj_type Renvoie le type de l'objet dictionnaire sur lequel l'opération DDL qui a déclenché le déclencheur s'est produite.
  • dictionary_obj_name Renvoie le nom de l'objet dictionnaire sur lequel l'opération DDL qui a déclenché le déclencheur s'est produite.