Можно ли передать параметр для запуска в базе данных SQL Server? - PullRequest
5 голосов
/ 07 октября 2010

Таблица может иметь триггер при вставке / удалении / обновлении. Триггер будет запущен изнутри механизмом БД.

Можно ли передать параметр для запуска в базе данных SQL Server как хранимая процедура?

Ответы [ 3 ]

10 голосов
/ 07 октября 2010

Косвенно через CONTEXT_INFO(). См. Использование информации о контексте сеанса . Тот факт, что вашему триггеру требуется дополнительное состояние, всегда является запахом кода.

0 голосов
/ 07 октября 2010

Вы можете сделать это. Создайте таблицу, специально предназначенную для хранения информации о параметрах, затем поместите данные в таблицу параметров перед выполнением операции, которая инициирует триггер. Код триггера для чтения из таблицы параметров.

Это была морковь, вот палка:

  1. Это усложнит ваши триггеры. Вам нужно будет учесть потенциальные пропущенные параметры, и вам придется обеспечить очистку параметров.
  2. Вы создаете зависимость с помощью этого метода, поэтому он будет работать только с процессами, которые закодированы для использования этого метода передачи параметров. Поэтому, если ваши данные изменяются не только вашим приложением, это не сработает.
0 голосов
/ 07 октября 2010
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...