Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Tworzenie wyzwalacza, który będzie uruchamiany tylko wtedy, gdy tworzona jest nowa tabela

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

Lista atrybutów EVENT znajduje się na tej stronie
http://ist.marshall.edu/ist480adbp/plsql_triggers.html (link nie działa)

Link do maszyny Wayback do treści martwego linku powyżej:https://web.archive.org/web/20110809071133/http://ist.marshall.edu/ist480adbp/plsql_triggers.html

O ile mi wiadomo, dictionary_obj_type jest jednym z TABLE|SEQUENCE|PROCEDURE|INDEX|FUNCTION|TYPE|PACKAGE

A nazwa_obiektu_słownika to tylko nazwa tabeli/sekwencji/proc/itd.

  • dictionary_obj_type Zwraca typ obiektu słownika, na którym wystąpiła operacja DDL, która uruchomiła wyzwalacz.
  • dictionary_obj_name Zwraca nazwę obiektu słownika, na którym wystąpiła operacja DDL, która uruchomiła wyzwalacz.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Zapytanie o wyszukanie wszystkich pakietów w tabeli i/lub kolumnie

  2. Powiadomienie o zmianie bazy danych Oracle

  3. Oracle SQL:Jak użyć więcej niż 1000 elementów w klauzuli IN

  4. dbms_metadata.get_ddl nie działa

  5. Najważniejsze nowe funkcje Oracle 12c