使用 DROP TRIGGER 语句从数据库中删除触发器定义。
该语句是 SQL ANSI/ISO 标准的扩展。
语法
元素
描述
限制
语法
owner
触发器所有者的名称
必须拥有触发器
所有者名称
trigger
要删除的触发器的名称
触发器必须存在于当
前数据库中
标识符
用法
GBase 8s SQL 指南:语法
南大通用数据技术股份有限公司 590
您必须是触发器的所有者或者具有 DBA 特权才能删除触发器。删除触发器会从
数据库中删除该触发器定义的文本和可执行的触发器,描述指定触发器的行会从
systriggers 系统目录表中删除。
如果包含可选的 IF EXISTS 关键字,则如果未在当前数据库中注册指定名称的触
发器,则数据库服务器不执行任何操作(而不是向应用程序发送异常)。
在复杂视图(带有来自多个表的列的视图)上删除 INSTEAD OF 触发器撤销了
对于视图的所有特权(这些特权是在创建触发器时触发器所有者自动接收的),
还撤销了触发器所有者授予其它用户的所有特权。(删除单个视图上的触发器不
会取消任何特权。)
以下示例删除了 items_pct 触发器:
DROP TRIGGER items_pct;
如果 DROP TRIGGER 语句出现在由数据操纵语句(DML)调用的 SPL 例程
内,则数据库服务器返回一个错误。
当对同一触发事件在同一表或视图上定义多个触发器时,不保证触发器的执行顺
序。如果您有一个首先的执行顺序,但是触发器是以其它顺序执行的,则您可能
希望删除除了首先运行的触发器之外的所有触发器,然后按照相对顺序(您希望
的顺序)重新创建其它触发器, 以便它们按照与其的执行顺序列在系统目录中。