sql >> Databáze >  >> RDS >> Oracle

Vytvoření spouštěče, který se spustí pouze při vytváření nové tabulky

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

Seznam atributů EVENT naleznete na této stránce
http://ist.marshall.edu/ist480adbp/plsql_triggers.html (odkaz je vypnutý)

Odkaz na stroj Wayback na obsah mrtvého odkazu výše:https://web.archive.org/web/20110809071133/http://ist.marshall.edu/ist480adbp/plsql_triggers.html

Pokud vím, dictionary_obj_type je jedním z TABLE|SEQUENCE|POCEDURE|INDEX|FUNCTION|TYPE|PACKAGE

A dictionary_obj_name je pouze název tabulky/sekvence/proc/atd.

  • dictionary_obj_type Vrátí typ objektu slovníku, na kterém došlo k operaci DDL, která spustila spouštěč.
  • název_obj_slovníku Vrátí název objektu slovníku, na kterém došlo k operaci DDL, která spustila spouštěč.



  1. Jak vyzkoušet více SELECTů, dokud nebude k dispozici výsledek?

  2. Jak správně používat Oracle ORDER BY a ROWNUM?

  3. Advanced MySql Query:Aktualizace tabulky informacemi z jiné tabulky

  4. Chyba SQL:Tabulka nebo pohled ORA-00942 neexistuje