T-SQL Как создать в цикле триггер для каждой таблицы БД?

windows MySQL базы данных sql

Есть триггер на INSERT и UPDATE. Есть почти 200 таблиц. Как создать в цикле (при помощи курсора?) по триггеру для каждой таблички?
При помощи функции sp_executesql не хочет, так как говорит, что пакет должен начинаться с CREATE, а не иначе, то бишь заранее не присвоишь имя переменной и не используешь его в создании триггера.

Примечание:
Если начинать с самого простого, то при создании процедуры

create procedure test
@s1 nvarchar(100)
as
begin
EXEC sp_executesql
N'CREATE TRIGGER row_existence',
@s1,
N' ON t_Actions
FOR INSERT, UPDATE
AS
Print 2;'
end;

и запросе

Exec test N'2'

выдает такие ошибки:

Сообщение 102, уровень 15, состояние 1, строка 1
Неправильный синтаксис около конструкции "2".
Сообщение 111, уровень 15, состояние 1, строка 1
CREATE TRIGGER должна быть первой инструкцией в пакетном запросе.

Примечание:
Еще раз объясню, что не получается создать триггер для каждой таблицы при помощи конструкции:
Процедура, в ней курсор, в котором создается курсор для каждой таблицы.
Есть другие варианты массового создания одним файлом триггеров для каждой таблицы в БД?
Ответы:
Что-то у тебя все в одну кучу. Соберись с мыслями и объясни, что именно у тебя не получается: Создать триггер, вызвать sp_executesql или организовать курсор по таблицам?
>EXEC sp_executesql
>N'CREATE TRIGGER row_existence',
>@s1,
>N' ON t_Actions
>FOR INSERT, UPDATE
>AS
>Print 2;'


11 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.