Вниз
Скачать: CL | DM;

ТРИГЕР   Найти похожие ветки 

← →
6ruse   (2010-09-03 11:48) [0]

Доброго времени суток! Уважаемые посоветуйте как правельно написать тригер который срабатывает перед удалением записи из таблицы. Задача тирега проверить есть ли во второй таблице ссылка на данные которые удаляются и если есть то вывесли исключение. я пишу так
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.
у меня тригер срабатывает при удалении любой записи из таблицы. С нетерпением жду ответов.


← →
Sergey13 ©   (2010-09-03 11:52) [1]

> [0] 6ruse   (03.09.10 11:48)

А просто внешний ключ повесить не пробовал?


← →
Сергей М. ©   (2010-09-03 12:02) [2]

> tbl_vydacha.data_vozvrata = "null"

Интересно, с какой радости поле data_vozvrata сделано текстовым ?


← →
Игорь Шевченко ©   (2010-09-03 22:16) [3]


> есть ли во второй таблице ссылка на данные которые удаляются
> и если есть то вывесли исключение



> if (not EXISTS


Убрать not ?


← →
Внук ©   (2010-09-21 00:46) [4]

>>Уважаемые посоветуйте как правельно написать тригер
 Правильно надо писать "триггер".


← →
Ega23 ©   (2010-09-21 08:02) [5]


> Задача тирега проверить есть ли во второй таблице ссылка
> на данные которые удаляются и если есть то вывесли исключение


Читать теорию о ссылочной целостности (вторичные ключи или foreign keys).
Они именно для этого и предназначены.


← →
Anatoly Podgoretsky ©   (2010-09-21 09:52) [6]

> Ega23  (21.09.2010 08:02:05)  [5]

Ну так тут работать надо, это не пойдеть.


← →
Правильный$Вася   (2010-10-05 14:11) [7]


> Читать теорию о ссылочной целостности (вторичные ключи или
> foreign keys).Они именно для этого и предназначены.

это да, но видимо автор хочет показать осмысленное сообщение, а не типичное на буржуйском

автору:
убрать NOT


← →
SuperPuperSQL   (2010-10-07 15:13) [8]


> >>Уважаемые посоветуйте как правельно написать тригер
>  Правильно надо писать "триггер".

Правельно надо писать "правильно"



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

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.054 c
2-1345262775
0?0
2012-08-18 08:06
2013.03.22
Не ожидать завершения процедуры.


2-1341126507
Pcrepair
2012-07-01 11:08
2013.03.22
ПОчему ДЕЛФИ без спроса создает-уничтожает TStringList?


2-1330577950
теркин
2012-03-01 08:59
2013.03.22
Фильтрация дочернего набора данных


15-1352825506
>|<
2012-11-13 20:51
2013.03.22
Определение границ максимальной плотности точек


15-1334500957
None
2012-04-15 18:42
2013.03.22
Как запретить Win7 перезагружаться без спроса?




   Наверх