2

我有一个记录 DDL 更改的数据库触发器。它具有以下格式

CREATE TRIGGER [Log_DDL_Changes]

ON DATABASE
FOR 
CREATE_TABLE, ALTER_TABLE, DROP_TABLE, 
CREATE_INDEX, ALTER_INDEX, DROP_INDEX, 
CREATE_PROCEDURE, ALTER_PROCEDURE, DROP_PROCEDURE,
CREATE_VIEW, ALTER_VIEW, DROP_VIEW,
CREATE_FUNCTION, ALTER_FUNCTION, DROP_FUNCTION, RENAME

--Fires only for CREATE / ALTER / DROP Table and PROCs
AS 

BEGIN
.
.
.
END

每当创建或更改表、视图或索引时,我想添加特殊处理。

如何确定哪个事件触发了处理多个事件的 TRIGGER 的触发器?

4

1 回答 1

1

你在你的触发器中使用这样的东西:

SELECT EVENTDATA().value('(/EVENT_INSTANCE/EventType)[1]','nvarchar(max)')
于 2013-12-03T18:59:42.237 回答