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