DROP TRIGGER — 移除一个触发器
下面的语法移除使用函数名定义的触发器: DROP TRIGGER [ IF EXISTS ]name
ONtable_name
[ CASCADE | RESTRICT ] 下面的语法只能在oracle模式下使用,用于删除使用代码块定义的触发器: DROP TRIGGER [schema
.]name
DROP TRIGGER
移除一个现有的触发器定义。
要执行这个命令,当前用户必须是触发器基表的拥有者。
IF EXISTS
如果该触发器不存在则不要抛出一个错误,而是发出一个提示。
schema
包含触发器的schema. 默认是当前schema。
name
要移除的触发器的名称。
table_name
定义了该触发器的表的名称(可以是模式限定的)。
CASCADE
自动删除依赖于该触发器的对象,然后删除所有 依赖于那些对象的对象(见Section 6.14)。
RESTRICT
如果有任何对象依赖于该触发器,则拒绝删除它。这是默认值。
创建和销毁表films
上的触发器
if_dist_exists
:
CREATE TRIGGER if_dist_exists after INSERT ON films FOR EACH ROW EXECUTE FUNCTION if_dist_exists_func(); DROP TRIGGER if_dist_exists ON films;
创建和销毁表
films
上的触发器if_dist_exists_oracle
CREATE TRIGGER if_dist_exists_oracle after INSERT ON films FOR EACH ROW begin dbms_output.put_line('hello world!'); end; / DROP TRIGGER if_dist_exists_oracle;
LightDB中的
DROP TRIGGER
语句与 SQL 标准不
兼容。在 SQL 标准中,不同表上也不能有同名的触发器,因此其
命令是简单的DROP TRIGGER
.
name