【发布时间】:2010-11-17 20:14:18
【问题描述】:
我正在尝试为特定表创建 DDL 触发器,这是我能想到的最好的方法:
CREATE TRIGGER MyTrigger
ON DATABASE
FOR DDL_TABLE_EVENTS
AS
DECLARE @EventData xml
SET @EventData=EVENTDATA()
IF @EventData.value('(/EVENT_INSTANCE/ObjectType)[1]', 'varchar(50)')='TABLE'
AND @EventData.value('(/EVENT_INSTANCE/ObjectName)[1]', 'varchar(50)') ='MyTable'
BEGIN
--do something special here!!
END
GO
这真的是唯一的方法吗?我到处寻找,但找不到在特定表上创建触发器的语法。我认为需要使用 xml EVENTDATA() 真的很愚蠢。
【问题讨论】:
标签: sql-server sql-server-2005 tsql triggers