1. 程式人生 > >SQLServer之刪除觸發器

SQLServer之刪除觸發器

連接 span cts from font 使用 pan sql腳本 miss

刪除觸發器

註意事項

可以通過刪除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之刪除觸發器