4

我正在使用 SQL Server 2008。

我正在创建一个这样的 DDL 触发器:

CREATE  TRIGGER  tName ON database FOR CREATE_TABLE
as
  print 'A table has been created'

我可以得到那个已经创建的表吗!?

在普通表触发器中插入或删除之类的东西?!

4

2 回答 2

4

尝试这个:

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
于 2012-03-21T05:59:09.143 回答
1

我相信您需要从EventData().

http://msdn.microsoft.com/en-us/library/ms187909.aspx

于 2012-03-21T02:19:39.017 回答