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

前端之家收集整理的这篇文章主要介绍了sql – 创建一个仅在创建新表时运行的触发器前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我知道我可以用它来创建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操作发生的字典对象的名称.

猜你在找的MsSQL相关文章