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