我有一个记录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的触发器?
答案 0 :(得分:1)
你在触发器中使用这样的东西:
SELECT EVENTDATA().value('(/EVENT_INSTANCE/EventType)[1]','nvarchar(max)')