加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

sql – 创建一个仅在创建新表时运行的触发器

发布时间:2020-12-12 07:45:35 所属栏目:MsSql教程 来源:网络整理
导读:我知道我可以用它来创建DDL创建触发器; CREATE OR REPLACE TRIGGER create_table_trigger AFTER CREATE ON SCHEMADECLAREBEGINEND; 问题是这个触发器会在“创建序列”之类的DDL上运行;我怎样才能为’创建表’DDL执行此操作? 解决方法 CREATE OR REPLACE TRIG
我知道我可以用它来创建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(链接已关闭)

据我所知,dictionary_obj_type是其中之一
TABLE | SEQUENCE |程序|首页|功能|类型|包装

而dictionary_obj_name只是表/序列/ proc / etc的名称.

> dictionary_obj_type返回触发触发器的DDL操作发生的字典对象的类型.> dictionary_obj_name返回触发触发器的DDL操作发生的字典对象的名称.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读