2013-11-19 2 views
1

Возможно ли иметь триггер, который создает еще один триггер?Возможно ли создать триггер, который создает другой триггер.

Например, у меня есть table_1 с колонкой table_name. При вставке в table_1 первый триггер создаст триггер для таблицы, вставленной как table_name? Я не нашел много информации об этом.

+1

Что вы пробовали? Создайте TSQL для нового триггера и создайте его с помощью 'sp_executesql'? – HABO

+1

У этого действительно действительно плохой запах ... Я бы не проектировал такую ​​систему. Таблицы и их триггеры должны обрабатываться надлежащими сценариями DDL и находиться под вашим контролем - вы не должны динамически создавать таблицы (и триггеры) на вкладке ..... –

ответ

0

Trigger позволяет запускать динамический SQL, в котором вы можете создавать объекты, которые вам нравятся, включая другие триггеры (при условии, что у вас есть права).

Вы можете сделать это с помощью sp_executesql, он выполняет оператор Transact-SQL или пакет, который может многократно использоваться, или тот, который был создан динамически. Операция Transact-SQL или пакет могут содержать встроенные параметры

Это кажется жестким, как (очень) плохой дизайн. Так что продолжайте и попробуйте это (или не *).

* Сформулируйте вашу проблему с: programmers (если это вопрос с ориентацией на дизайн) или в Database Administrators, и вам может помочь.

Смежные вопросы