我正在使用SQL Server 2008。
我正在创建一个这样的DDL触发器:
CREATE TRIGGER tName ON database FOR CREATE_TABLE
as
print 'A table has been created'
我可以获取已创建的表吗?
在普通表中插入或删除的内容会触发吗?!
答案 0 :(得分:3)
试试这个:
CREATE TRIGGER TRG_TABLES
ON DATABASE
AFTER
CREATE_TABLE
AS
BEGIN
SET NOCOUNT ON
DECLARE @TABLE_NAME SYSNAME
SELECT
@TABLE_NAME = EVENTDATA().value('(/EVENT_INSTANCE/ObjectName)[1]','SYSNAME')
...
END
GO
答案 1 :(得分:1)
我相信你需要从EventData()
的CommandText中提取它。