update trigger insertar hacer funciones ejemplos ejemplo disparador despues consulta como sql database oracle triggers ddl

insertar - trigger sql server update ejemplo



Crear un disparador para que se ejecute solo cuando se crea una nueva tabla (1)

Sé que puedo usar esto para crear el disparador DDL create;

CREATE OR REPLACE TRIGGER create_table_trigger AFTER CREATE ON SCHEMA DECLARE BEGIN END;

El problema es que este disparador se ejecutaría en DDL como ''Crear secuencia''; ¿Cómo solo puedo ejecutar esto para los DDL ''Crear tabla''?


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

Para obtener una lista de atributos de EVENT, consulte esta página
http://ist.marshall.edu/ist480adbp/plsql_triggers.html (el enlace está abajo)

Por lo que yo sé, dictionary_obj_type es uno de TABLE | SECUENCIA | PROCEDIMIENTO | ÍNDICE | FUNCIÓN | TIPO | PAQUETE

Y dictionary_obj_name es solo el nombre de la tabla / sequence / proc / etc.

  • dictionary_obj_type Devuelve el tipo del objeto de diccionario en el que se produjo la operación DDL que activó el desencadenador.
  • dictionary_obj_name Devuelve el nombre del objeto de diccionario en el que se produjo la operación DDL que activó el desencadenador.