Текущий архив: 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.45 MB
Время: 0.039 c