Welcome
admin
admin

2025-12-13 13:46:20

世界杯cctv
2663 484

在 SQL Server 中修改或删除触发器在这里您将学习如何在 SQL Server 中修改和删除触发器。

ALTER TRIGGER 语句用于修改现有触发器的定义,而无需更改其权限或依赖项。

语法 复制ALTER TRIGGER trigger_name

ON { Table name or view name }

[ WITH ]

{ FOR | AFTER | INSTEAD OF }

{ [INSERT], [UPDATE] , [DELETE] }

AS

sql_statements在上面的 ALTER TRIGGER 语句中

trigger_name 是您希望更改的触发器。ON 指定创建触发器的表或视图FOR 指示事件发生时触发器何时触发[INSERT]、[UPDATE]、[DELETE] 指定将导致触发器触发的事件列表。以下是修改 DDL 触发器的方法。

示例:修改 DDL 触发器 复制ALTER TRIGGER trgTablechanges

ON DATABASE

FOR

CREATE_TABLE,

DROP_TABLE

AS

BEGIN

SET NOCOUNT ON;

INSERT INTO TableLog

(

EventVal,

DateChanged,

ChangedBy

)

VALUES (

EVENTDATA(),

GETDATE(),

USER

);

END;删除触发器DROP TRIGGER 语句从数据库中删除一个或多个触发器。您可以通过指定以逗号分隔的触发器名称来使用 DROP TRIGGER 语句删除多个触发器。

语法 复制DROP TRIGGER [IF EXISTS] [schema_name.]trigger1, trigger2, ... ];例如,下面的 SQL 语句删除 DML 触发器 trgEmployeeUpdate。

示例:删除 DML 触发器 复制DROP TRIGGER dbo.trgEmployeeUpdate删除 DDL 或 LOGON 触发器使用 DROP TRIGGER ON 语句删除 DDL 或 LOGON 触发器。

语法:删除 DDL 或 LOGON 触发器 复制DROP TRIGGER [ IF EXISTS ] trigger_name [ ,...n ]

ON { DATABASE | ALL SERVER };例如,下面的 SQL 语句使用 ON DATABASE 选项删除 DDL 触发器 trgTablechanges,因为它是一个数据库级别的触发器。

示例:删除 DDL 触发器 复制DROP TRIGGER IF EXISTS trgTablechanges ON DATABASE;以下使用 ON ALL SERVER 选项删除 LOGON 触发器 trgLoginConnection,因为它是一个服务器级别的触发器。

示例:删除 LOGON 触发器 复制DROP TRIGGER IF EXISTS trgLoginConnection ON ALL Server;