![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
ТРИГЕР [Firebird]
6ruse © (2010-09-03 11:48:00)Доброго времени суток! Уважаемые посоветуйте как правельно написать тригер который срабатывает перед удалением записи из таблицы. Задача тирега проверить есть ли во второй таблице ссылка на данные которые удаляются и если есть то вывесли исключение. я пишу так
CREATE OR ALTER TRIGGER TBL_BOOK_BD FOR TBL_BOOK
ACTIVE BEFORE DELETE POSITION 0
as
begin
if (not EXISTS(select OLD.ID_BOOK From tbl_vydacha where tbl_vydacha.data_vozvrata = 'null' and old.id_book = tbl_vydacha.id_book )) then
exception err_spisanie ;
end.
у меня тригер срабатывает при удалении любой записи из таблицы. С нетерпением жду ответов.
SuperPuperSQL (2010-10-07 15:13:00) [1]
> >>Уважаемые посоветуйте как правельно написать тригер
> Правильно надо писать "триггер".
Правельно надо писать "правильно"
Правильный$Вася (2010-10-05 14:11:00) [2]
> Читать теорию о ссылочной целостности (вторичные ключи или
> foreign keys).Они именно для этого и предназначены.
это да, но видимо автор хочет показать осмысленное сообщение, а не типичное на буржуйском
автору:
убрать NOT
Anatoly Podgoretsky (2010-09-21 09:52:00) [3]> Ega23 (21.09.2010 08:02:05) [5]
Ну так тут работать надо, это не пойдеть.
Ega23 (2010-09-21 08:02:00) [4]
> Задача тирега проверить есть ли во второй таблице ссылка
> на данные которые удаляются и если есть то вывесли исключение
Читать теорию о ссылочной целостности (вторичные ключи или foreign keys).
Они именно для этого и предназначены.
Внук (2010-09-21 00:46:00) [5]>>Уважаемые посоветуйте как правельно написать тригер
Правильно надо писать "триггер".
Игорь Шевченко (2010-09-03 22:16:00) [6]
> есть ли во второй таблице ссылка на данные которые удаляются
> и если есть то вывесли исключение
> if (not EXISTS
Убрать not ?
Сергей М. (2010-09-03 12:02:00) [7]> tbl_vydacha.data_vozvrata = 'null'
Интересно, с какой радости поле data_vozvrata сделано текстовым ?
Sergey13 (2010-09-03 11:52:00) [8]> [0] 6ruse (03.09.10 11:48)
А просто внешний ключ повесить не пробовал?