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

не могу создать тригер   Найти похожие ветки 

← →
hahol_64_rus   (2008-04-26 15:07) [0]

пишу програмку с БД
в ней всего то 3 таблички (организации люди сотрудники)(firm,people,bind)
в таблички сотрудники у мя всего 2 столбца cod_firm  и cod_people
соответственно такие же есть в таблице люди и организации
так вот сам вопрос .....
при удлении человека мне надо удалить его из сотрудников ....
как реализовать пока не совсем понимаю (начинающий)  
я так понимаю  нада сделать триггер . . .  а какой
пытался чет сделать но получилось ток вот это .....

create trigger tad_people for people
after delete
as
   begin
     if ((select count(*) from bind where cod_people = old.cod_people) <> 0 ) then
      begin
        delete from bind where bind.cod_people = old.cod_people;
      end

   end^

че не правильно
код не работает


← →
DrPass ©   (2008-04-26 15:10) [1]

Во-первых, не after delete, а before delete
Во-вторых, достаточно просто delete from bind where bind.cod_people = old.cod_people; без всяких select count(*)
В-третьих, тут можно вообще без триггера обойтись, добавив внешний ключ с опцией on delete cascade


← →
hahol_64_rus   (2008-04-26 15:27) [2]

<<on delete cascade>>

емае совсем забыл

спасибо агромное .....



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

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



Память: 0.45 MB
Время: 0.009 c
6-1194968418
artkil
2007-11-13 18:40
2008.11.09
Прокси


2-1222454108
AlexDan
2008-09-26 22:35
2008.11.09
Запрет перемещения формы..


2-1222836281
AlekseyB
2008-10-01 08:44
2008.11.09
CheckListBox


3-1208944407
TADOCommand
2008-04-23 13:53
2008.11.09
Зарезервировать ключ перед вставкой


3-1209101225
дучф_ч
2008-04-25 09:27
2008.11.09
при удалении полей таблицы ее размер не уменьшается




   Наверх