office365用不了怎么回事-365bet正网盘口-365bet网址开户

记录时光的故事

删除或禁用 DML 触发器 - SQL Server

分类: 365bet正网盘口 时间: 2025-08-30 00:52:25 作者: admin 阅读: 9729
删除或禁用 DML 触发器 - SQL Server

适用于:SQL ServerAzure SQL 数据库Azure SQL 托管实例

本主题介绍如何使用 SQL Server Management Studio 或 Transact-SQL 在 SQL Server 中删除或禁用 DML 触发器。

本主题内容

开始之前:

建议

安全性

若要删除或禁用 DML 触发器,请使用:

SQL Server Management Studio

Transact-SQL

开始之前

建议

删除了触发器后,它就从当前数据库中删除了。 它所基于的表和数据不会受到影响。 删除表将自动删除其上的所有触发器。

在创建触发器时,触发器默认为启用状态。

禁用触发器不会删除该触发器。 该触发器仍然作为对象存在于当前数据库中。 但是,当执行任意 INSERT、UPDATE 或 DELETE 语句(在其上对触发器进行了编程)时,触发器将不会激发。 已禁用的触发器可以被重新启用。 启用触发器并不是要重新创建它。 触发器将以最初创建它时的方式激发。

安全性

权限

若要删除 DML 触发器,要求对要定义触发器的表或视图具有 ALTER 权限。

若要禁用或启用 DML 触发器,用户必须至少对为其创建触发器的表或视图具有 ALTER 权限。

使用 SQL Server Management Studio

删除 DML 触发器

在 “对象资源管理器” 中,连接到 数据库引擎 的实例,然后展开该实例。

展开你所需的数据库,再展开 “表”,然后展开包含要删除的触发器的表。

展开 “触发器”,右键单击要删除的触发器,再单击 “删除”。

在 “删除对象” 对话框中,确认要删除的触发器,然后单击 “确定”。

禁用和启用 DML 触发器

在 “对象资源管理器” 中,连接到 数据库引擎 的实例,然后展开该实例。

展开你所需的数据库,再展开 “表”,然后展开包含要禁用的触发器的表。

展开 “触发器”,右键单击要禁用的触发器,再单击 “禁用”。

若要启用触发器,请单击 “启用”。

“使用 Transact-SQL”

删除 DML 触发器

连接到 数据库引擎。

在标准菜单栏上,单击 “新建查询” 。

复制以下示例并将其粘贴到查询窗口中。 执行 CREATE TRIGGER 语句以创建 Sales.bonus_reminder 触发器。 若要删除该触发器,请执行 DROP TRIGGER 语句。

--Create the trigger.

USE AdventureWorks2022;

GO

IF OBJECT_ID(N'Sales.bonus_reminder', N'TR') IS NOT NULL

DROP TRIGGER Sales.bonus_reminder;

GO

CREATE TRIGGER Sales.bonus_reminder

ON Sales.SalesPersonQuotaHistory

WITH ENCRYPTION

AFTER INSERT, UPDATE

AS RAISERROR ('Notify Compensation', 16, 10);

GO

--Delete the trigger.

USE AdventureWorks2022;

GO

IF OBJECT_ID ('Sales.bonus_reminder', 'TR') IS NOT NULL

DROP TRIGGER Sales.bonus_reminder;

GO

禁用和启用 DML 触发器

连接到 数据库引擎。

在标准菜单栏上,单击 “新建查询” 。

复制以下示例并将其粘贴到查询窗口中。 执行 CREATE TRIGGER 语句以创建 Sales.bonus_reminder 触发器。 若要禁用和启用该触发器,请分别执行 DISABLE TRIGGER 语句和 ENABLE TRIGGER 语句。

--Create the trigger.

USE AdventureWorks2022;

GO

IF OBJECT_ID(N'Sales.bonus_reminder', N'TR') IS NOT NULL

DROP TRIGGER Sales.bonus_reminder;

GO

CREATE TRIGGER Sales.bonus_reminder

ON Sales.SalesPersonQuotaHistory

WITH ENCRYPTION

AFTER INSERT, UPDATE

AS RAISERROR ('Notify Compensation', 16, 10);

GO

--Disable the trigger.

USE AdventureWorks2022;

GO

DISABLE TRIGGER Sales.bonus_reminder ON Sales.SalesPersonQuotaHistory;

GO

--Enable the trigger.

USE AdventureWorks2022;

GO

ENABLE TRIGGER Sales.bonus_reminder ON Sales.SalesPersonQuotaHistory;

GO

另请参阅

ALTER TRIGGER (Transact-SQL)

CREATE TRIGGER (Transact-SQL)

DROP TRIGGER (Transact-SQL)

ENABLE TRIGGER (Transact-SQL)

DISABLE TRIGGER (Transact-SQL)

EVENTDATA (Transact-SQL)

获取有关 DML 触发器的信息

sp_help(Transact-SQL)

sp_helptrigger(Transact-SQL)

sys.triggers (Transact-SQL)

sys.trigger_events(Transact-SQL)

sys.sql_modules (Transact-SQL)

sys.assembly_modules(Transact-SQL)

sys.server_triggers(Transact-SQL)

sys.server_trigger_events(Transact-SQL)

sys.server_sql_modules(Transact-SQL)

sys.server_assembly_modules(Transact-SQL)

相关文章

3D汽车模型制作步骤详细教程
如何训养你的人类
达达骑士兼职怎么样?
【拉美】世界杯加油神器中国制造
饥荒海难火山季多少天
为什么有些女生胸部柔软像面包,有些却硬得像馒头?答案都在这了