Главная страница
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.027 c
14-1089878459
}|{yk
2004-07-15 12:00
2004.08.01
Я вот не пойму


3-1089373408
leonon
2004-07-09 15:43
2004.08.01
Создание таблицы запросом


1-1090156721
joystick
2004-07-18 17:18
2004.08.01
Как всех послать?


6-1086002939
Alexey
2004-05-31 15:28
2004.08.01
IP


3-1089375927
Sergey_
2004-07-09 16:25
2004.08.01
Время из TimeStamp