Звучит немного странно, но это то, что я пытаюсь сделать. У меня есть триггер на создание таблицы для базы данных. Я хочу затем взять эту таблицу, которая была создана, и создать на нем триггер, который прослушивает вставку. Что у меня так далеко:
USE DatabaseA;
GO
CREATE TRIGGER [TableCreationTrigger] ON DATABASE AFTER CREATE_TABLE
AS
BEGIN
DECLARE @Data XML = EVENTDATA();
DECLARE @CreatedTable varchar(60);
SET @CreatedTable = @Data.value('(/EVENT_INSTANCE/ObjectName)[1]', 'NVARCHAR(255)');
DECLARE @sql AS NVARCHAR(MAX);
SET @sql = '
CREATE TRIGGER CreatedTableTrigger
ON ' + @CreatedTable + '
AFTER INSERT AS
BEGIN
select * into InsertedTest from inserted
END';
EXEC(@sql);
END
GO
Но пока я не вижу создания этого триггера. Я что-то пропустил? Или это просто невозможно? Если это невозможно, есть ли решение, о котором я не думал?