Вопрос

Может ли создавать определенный мудрый спусковой клетки?

Или есть

IF UPDATE(COLUMN) WHERE OTHER_COLUMN LIKE 'JT'

Эквивалентный присутствующий в SQL Server 2008?

РЕДАКТИРОВАТЬ После получения 2-го ответа ---

IF not UPDATE(CurrentNo) --// Wanted to do like this : where series ='JT'
    return

IF not EXISTS(SELECT 'True'
              FROM Inserted i
              JOIN Deleted d ON i.Series = d.Series
              WHERE i.Series = 'JT' AND d.Series = 'JT')
    return

Кажется, в порядке прав! Прокомментируйте, пожалуйста.

Это было полезно?

Решение

Нет. Нет никакого способа сделать это декларативно. Вам нужно будет создать общий запрос на триггер и поставить логику в нем, чтобы немедленно вернуться IF NOT UPDATE (column)

Если столбец интереса был обновлен, тогда вы получите запрос inserted и deleted Pseudo Tables, чтобы позволить вам обработать строки, где было выполнено ваше состояние интереса.

Другие советы

Тиггеры указываются на таблицах, а не на рядах, колоннах или клетках. Внутри корпуса триггера у вас будет доступ к вставленным и удаленным таблицам. Вы можете присоединиться к ним вместе, чтобы определить, какие столбцы были изменены во время обновления. То ОБНОВИТЬ() Функция, которая доступен в SQL Server 2008 (а также предыдущих версиях), является методом сокращения для определения того, изменился ли столбец.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top