Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.08.01;
Скачать: CL | DM;

Вниз

Как внутри триггера запретить вносить изменения?   Найти похожие ветки 

 
AlexanderSK   (2004-07-07 15:49) [0]

Подскажите, пожалуйста, как реализовать триггер внутри которого при определенном стечении обстоятельств запретить внесение изменения в таблицу?


 
Sandman25 ©   (2004-07-07 15:50) [1]

сгенерить exeption


 
Соловьев ©   (2004-07-07 16:03) [2]

или условие


 
Курдль ©   (2004-07-07 16:09) [3]


> AlexanderSK   (07.07.04 15:49)  
> Подскажите, пожалуйста, как реализовать триггер внутри которого
> при определенном стечении обстоятельств запретить внесение
> изменения в таблицу?

Для начала попробовать выразить это "сечение обстоятельств" в виде бизнес правила -> check constraint. Если не получится - генерить исключение в триггере [1].



> Соловьев ©   (07.07.04 16:03) [2]
> или условие

А это как?


 
TohaNik ©   (2004-07-07 16:44) [4]

Ну м. так
чего то внутри тригера делали и получили "определенном стечение обстоятельств"
то тогда new.MyValue = old.MyValue


 
Курдль ©   (2004-07-07 17:19) [5]


> TohaNik ©   (07.07.04 16:44) [4]
> то тогда new.MyValue = old.MyValue

А юзеры не офигеют от такого "искуственного интеллекта"? :)


 
TohaNik ©   (2004-07-07 17:37) [6]

Ага забавно получается - юзер меняет а оно никак причем мольча:)

Ну а если серьезно иногда бывает что изменение пользователем в одной таблице влечет изменения(о которых пользователь и не знает) в других что может привести к  "определенным стечениям обстоятельств", а может и нет. ИМХО тогда не обязательно генерить
exeption чтоб лишний раз кнопку не жать.


 
vv_fran   (2004-07-08 08:15) [7]

Типа так:

CREATE EXCEPTION MAYTABLE_UPDATE "Нельзя редактировать строку с кодом 0!";

CREATE TRIGGER MAYTABLE_BU0 FOR MAYTABLE
ACTIVE BEFORE UPDATE POSITION 0
AS
begin
   if (MAYTABLE.cod = 0 ) then EXCEPTION MAYTABLE_UPDATE;
end



Страницы: 1 вся ветка

Текущий архив: 2004.08.01;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.047 c
3-1089292205
Sectey
2004-07-08 17:10
2004.08.01
Почему не удаетмя открыть таблицу MS-SQL?


14-1089450666
Aldor_
2004-07-10 13:11
2004.08.01
Использование функции из kernel32.dll, которой нет в заголовках


14-1090037247
banderas
2004-07-17 08:07
2004.08.01
Молю о помощи !!!


14-1089992917
Top100
2004-07-16 19:48
2004.08.01
Где ввести ключ регистрации в FstReport?


3-1089182014
Rusty
2004-07-07 10:33
2004.08.01
Как определить: существует ли таблица в базе Access?