Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > SQL, базы данных
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.03.2017, 16:11   #1
1984
 
Регистрация: 07.12.2016
Сообщений: 4
Печаль Триггер DML

Задание:Запрет удаления строк из таблицы NachislSumma с начислениями ранее января 2010 г

Когда удаляешь строку за начисления ранее 2010, триггер срабатывает правильно.Но когда пытаешься удалить строку позже 2010 года происходить зацикливание. Помогите исправить код

create trigger DELe for Nachislsumma
before delete
as
begin
delete from nachislsumma n where nachislfactcd = old.nachislfactcd and nachislyear > 2010 ;
if ( deleting)
then exception restr ;
end
Изображения
Тип файла: jpg Безымянный.jpg (38.8 Кб, 140 просмотров)
1984 вне форума Ответить с цитированием
Старый 22.03.2017, 16:49   #2
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,515
По умолчанию

Код:
before delete -- перед тем как начнешь удалять эту строку (old)
as
begin -- сделай пожалуйста вот это
delete from nachislsumma n  -- УДАЛИ 
---  если найдется что удалять (смотри where ) то ПОЛУЧИМ зацикливание!!
where nachislfactcd = old.nachislfactcd -- ТУЖЕ  самую запись 
  and nachislyear > 2010 ; если ее год >2010
мы еще начали удалять а просим удалить все то же самое.

а надо ПРОСТО
Код:
if OLD.nachislyear <= 2010 --проверить ВЫПОЛНЕНИЕ условия 
then   exception restr ; -- и сделать ТРЕБУЕМОЕ в нужном случае
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума Ответить с цитированием
Старый 22.03.2017, 18:09   #3
1984
 
Регистрация: 07.12.2016
Сообщений: 4
По умолчанию

все, исправлено.спасибо

Последний раз редактировалось 1984; 22.03.2017 в 18:33.
1984 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Триггер 2 @ngel111 SQL, базы данных 0 24.12.2014 18:52
Триггер @ngel111 SQL, базы данных 2 23.12.2014 14:57
Триггер andresan SQL, базы данных 0 16.05.2011 16:29
Триггер Neymexa SQL, базы данных 1 01.04.2010 18:50
Триггер? yulia БД в Delphi 9 12.05.2007 15:03