2

SQL Server 2008 では、次のトリガーで作成されるテーブルのテーブル名を取得する DDL トリガーがありました。

CREATE TRIGGER [tr_getName] ON DATABASE FOR CREATE_TABLE 
AS 

DECLARE @xmlEventData XML
DECLARE @TableName varchar(128)
-- Capture the event data that is created
SET @xmlEventData = eventdata()

IF OBJECT_ID('dbo.tNames', 'U') IS NOT NULL
BEGIN
    DeAllocate tNames
END 

DECLARE tNames CURSOR Read_Only
FOR SELECT CONVERT(VARCHAR(128), @xmlEventData.query('data(/EVENT_INSTANCE/ObjectName)'))
OPEN tNames

FETCH Next FROM tNames
    INTO @TableName
...
...

ただし、SQL Azure では eventdata() はサポートされなくなりました。SQL Azure で同等のことを行う方法はありますか? ありがとうございました

4

1 に答える 1