SQLServer之刪除觸發器
刪除觸發器
註意事項
可以通過刪除DML觸發器或刪除觸發器表來刪除DML觸發器。 刪除表時,將同時刪除與表關聯的所有觸發器。
刪除觸發器時,會從 sys.objects、sys.triggers 和 sys.sql_modules 目錄視圖中刪除有關該觸發器的信息。
僅當所有觸發器均使用相同的 ON 子句創建時,才能使用一個 DROP TRIGGER 語句刪除多個 DDL 觸發器。
若要重命名觸發器,可使用 DROP TRIGGER 和 CREATE TRIGGER。 若要更改觸發器的定義,可使用 ALTER TRIGGER。
有關確定特定觸發器依賴關系的詳細信息,請參閱 sys.sql_expression_dependencies、sys.dm_sql_referenced_entities (Transact-SQL) 和 sys.dm_sql_referencing_entities (Transact-SQL)。
有關查看觸發器文本的詳細信息,請參閱 sp_helptext (Transact-SQL) 和 sys.sql_modules (Transact-SQL)。
有關查看現有觸發器列表的詳細信息,請參閱 sys.triggers (Transact-SQL) 和 sys.server_triggers (Transact-SQL)。
權限方面
要刪除 DML 觸發器,需要具有對於定義該觸發器所在的表或視圖的 ALTER 權限。
若要刪除定義了服務器範圍 (ON ALL SERVER) 的 DDL 觸發器或刪除登錄觸發器,需要對服務器擁有 CONTROL SERVER 權限。 若要刪除定義了數據庫範圍 (ON DATABASE) 的 DDL 觸發器,要求在當前數據庫中具有 ALTER ANY DATABASE DDL TRIGGER 權限。
使用SSMS數據庫管理工具刪除觸發器
刪除DML觸發器
1、連接數據庫,選擇數據庫,選擇數據表-》展開數據表-》展開觸發器-》右鍵點擊-》選擇刪除。
2、在刪除對象彈出框-》點擊確定-》不用刷新即可看到刪除結果。
刪除DDL觸發器
1、連接數據庫,選擇數據庫-》展開可編程性-》展開數據庫觸發器-》右鍵點擊-》選擇刪除。
2、在刪除對象彈出框-》點擊確定-》不用刷新即可看到刪除結果。
刪除LOGON觸發器
1、連接數據庫-》展開服務器對象-》展開觸發器-》右鍵點擊-》選擇刪除。
2、在刪除對象彈出框-》點擊確定-》不用刷新即可看到刪除結果。
使用T-SQL腳本刪除觸發器
語法:
--聲明數據庫引用
use 數據庫;
go
--判斷是否存在,如果存在則刪除
if exists(select * from sys.triggers where name=觸發器名)
--刪除DML觸發器
drop trigger 觸發器名;
----刪除DDL觸發器
--drop trigger 觸發器名 on database;
--刪除登錄觸發器
--drop trigger 觸發器名 on all server;
go
示例:本示例演示刪除DML更新觸發器。
--聲明數據庫引用
use testss;
go
--判斷是否存在,如果存在則刪除
if exists(select * from sys.triggers where name=‘updatetri‘)
drop trigger updatetri;
go
示例結果:
SQLServer之刪除觸發器