4

SQLServer2008を使用しています。

私は次のような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

のCommandTextから抽出する必要があると思いますEventData()

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

于 2012-03-21T02:19:39.017 に答える