Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Criando um gatilho para ser executado apenas quando uma nova tabela estiver sendo criada

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

Para obter uma lista de atributos EVENT, consulte esta página
http://ist.marshall.edu/ist480adbp/plsql_triggers.html (link is down)

Wayback machine link para o conteúdo do link morto acima:https://web.archive.org/web/20110809071133/http://ist.marshall.edu/ist480adbp/plsql_triggers.html

Até onde eu sei, dictionary_obj_type é um dos TABLE|SEQUENCE|PROCEDURE|INDEX|FUNCTION|TYPE|PACKAGE

E dictionary_obj_name é apenas o nome da tabela/sequência/proc/etc.
  • dictionary_obj_type Retorna o tipo do objeto de dicionário no qual ocorreu a operação DDL que disparou o gatilho.
  • dictionary_obj_name Retorna o nome do objeto de dicionário no qual ocorreu a operação DDL que disparou o gatilho.