如何确定什么操作触发了处理多个事件的触发器



我有一个数据库触发器,用于记录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

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

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

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

SELECT EVENTDATA().value('(/EVENT_INSTANCE/EventType)[1]','nvarchar(max)')

相关内容

  • 没有找到相关文章

最新更新