Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Тригг. сравнение знач. поля с предыдущим знач. ???  [new]
gav
Member

Откуда:
Сообщений: 196
Уважаемые знатоки!

Возникла проблема:

Имеется поле в таблице (id статуса оформления договора). Ему последовательно в проц. работы присваиваются значения 1-10.

Нужно сделать триггер, реализующий откат, если идет попытка присвоить не следующее за текущим значение, т.е если текущее значение 2 триггер должен прпустить только значение 3 и реализовать откат в др. случаях.

Как думаю сделать (но это криво):
Создать в таблице идентичный 2й столбец, обновляемый данным триггером. Триггер сначала читает 2й столбец, сравнивает с inserted в 1м столбце, затем если условие выполнено, обновляет оба столбца. Если не выполнено - откат.

Думаю, что так делать не правильно. Думаю, что предыдущее значения поля (предшествующее тому, что в inserted) можно как то получить. А как???

Спасибо всем кто ответит.
30 май 05, 08:47    [1580168]     Ответить | Цитировать Сообщить модератору
 Re: Тригг. сравнение знач. поля с предыдущим знач. ???  [new]
daw
Member

Откуда: Муром -> Москва
Сообщений: 7381
из deleted
30 май 05, 08:52    [1580173]     Ответить | Цитировать Сообщить модератору
 Re: Тригг. сравнение знач. поля с предыдущим знач. ???  [new]
aleks2
Guest
gav
Уважаемые знатоки!

Возникла проблема:

Имеется поле в таблице (id статуса оформления договора). Ему последовательно в проц. работы присваиваются значения 1-10.

Нужно сделать триггер, реализующий откат, если идет попытка присвоить не следующее за текущим значение, т.е если текущее значение 2 триггер должен прпустить только значение 3 и реализовать откат в др. случаях.

Как думаю сделать (но это криво):
Создать в таблице идентичный 2й столбец, обновляемый данным триггером. Триггер сначала читает 2й столбец, сравнивает с inserted в 1м столбце, затем если условие выполнено, обновляет оба столбца. Если не выполнено - откат.

Думаю, что так делать не правильно. Думаю, что предыдущее значения поля (предшествующее тому, что в inserted) можно как то получить. А как???

Спасибо всем кто ответит.


Ну и кто помешает злобному хакеру последовательно присвоить (id статуса оформления договора) до нужного значения?
------------
Что даст эта проверка?
30 май 05, 09:33    [1580262]     Ответить | Цитировать Сообщить модератору
 Re: Тригг. сравнение знач. поля с предыдущим знач. ???  [new]
gav
Member

Откуда:
Сообщений: 196
Ура!!! Все работает!

Спасибо daw
30 май 05, 10:22    [1580417]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить