簡體   English   中英

創建僅在創建新表時運行的觸發器

[英]Creating a trigger to only run when a new table is being created

我知道我可以用它來創建 DDL 創建觸發器;

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

問題是這個觸發器會在像“創建序列”這樣的 DDL 上運行; 我怎樣才能只對“創建表”DDL 執行此操作?

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

有關 EVENT 屬性列表,請參閱此頁面
http://ist.marshall.edu/ist480adbp/plsql_triggers.html (鏈接已關閉)

回車機鏈接到上面死鏈接的內容: https : //web.archive.org/web/20110809071133/http : //ist.marshall.edu/ist480adbp/plsql_triggers.html

據我所知,dictionary_obj_type 是 TABLE|SEQUENCE|PROCEDURE|INDEX|FUNCTION|TYPE|PACKAGE 之一

而dictionary_obj_name 只是表/序列/過程/等的名稱。

  • dictionary_obj_type返回發生觸發觸發器的 DDL 操作的字典對象的類型。
  • dictionary_obj_name返回發生觸發觸發器的 DDL 操作的字典對象的名稱。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM