Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Триггер на удаление из связанных таблиц  [new]
Civilian
Member

Откуда:
Сообщений: 3
Нужно с помощью триггера удалить строку из parent таблицы, но пока есть children во второй, удалять нельзя. Попробовал Instead of delete но удалились вобще все записи из второй таблицы. Кто нибудь знает как это можно сделать?
22 дек 05, 14:10    [2198987]     Ответить | Цитировать Сообщить модератору
 Re: Триггер на удаление из связанных таблиц  [new]
daw
Member

Откуда: Муром -> Москва
Сообщений: 7381

Civilian

Нужно с помощью триггера удалить строку из parent таблицы, но пока есть children во второй, удалять нельзя. Попробовал Instead of
delete но удалились вобще все записи из второй таблицы. Кто нибудь знает как это можно сделать?

как пробовали?
про Cascading Referential Integrity Constraints Вы в курсе?


Posted via ActualForum NNTP Server 1.3

22 дек 05, 14:12    [2199004]     Ответить | Цитировать Сообщить модератору
 Re: Триггер на удаление из связанных таблиц  [new]
saint
Member

Откуда: Архангельск
Сообщений: 2262
вопрос по конкретнее. где тригер и когда он срабатывает


Если триггер на третьей таблице, то

delete from t1
from t1 inner join inserted on ...связь обновляемых записей t3 с t1...
where not exists (select * from t2 where t2.parent_id=t1.id)
22 дек 05, 14:17    [2199031]     Ответить | Цитировать Сообщить модератору
 Re: Триггер на удаление из связанных таблиц  [new]
Civilian
Member

Откуда:
Сообщений: 3
про Cascading Referential Integrity Constraints я пока еще не знаю, встречал в этом форуме пару раз, но так и не понял где это настраивается. Мне надо чтобы перед удалением родительской записи удалялись все связанные с ней(дочерние) а как это сделать догнать не могу. Если каскадное удаление как раз для этого, подскажите как им пользоваться!
22 дек 05, 14:41    [2199190]     Ответить | Цитировать Сообщить модератору
 Re: Триггер на удаление из связанных таблиц  [new]
Vladimir Kovalevskii
Member

Откуда:
Сообщений: 696
Civilian
про Cascading Referential Integrity Constraints я пока еще не знаю, встречал в этом форуме пару раз, но так и не понял где это настраивается. Мне надо чтобы перед удалением родительской записи удалялись все связанные с ней(дочерние) а как это сделать догнать не могу. Если каскадное удаление как раз для этого, подскажите как им пользоваться!


триггеры крайне не рекоммендованы для использования в каскадных целях.

думаю BOL -> CREATE CONSTRAINT Вам поможет.
22 дек 05, 14:45    [2199225]     Ответить | Цитировать Сообщить модератору
 Re: Триггер на удаление из связанных таблиц  [new]
Timon
Member

Откуда: Dushanbe TJK
Сообщений: 2688
Civilian
про Cascading Referential Integrity Constraints я пока еще не знаю, встречал в этом форуме пару раз, но так и не понял где это настраивается. Мне надо чтобы перед удалением родительской записи удалялись все связанные с ней(дочерние) а как это сделать догнать не могу. Если каскадное удаление как раз для этого, подскажите как им пользоваться!


ALTER TABLE dbo.Orders WITH NOCHECK ADD CONSTRAINT
	FK_Orders_Customers FOREIGN KEY
	(
	CustomerID
	) REFERENCES dbo.Customers
	(
	CustomerID
	) ON UPDATE CASCADE
	 ON DELETE CASCADE
С БД NorthWind
22 дек 05, 14:46    [2199234]     Ответить | Цитировать Сообщить модератору
 Re: Триггер на удаление из связанных таблиц  [new]
Vladimir Kovalevskii
Member

Откуда:
Сообщений: 696
сорри ALTER TABLE ADD CONSTRAINT
22 дек 05, 15:05    [2199374]     Ответить | Цитировать Сообщить модератору
 Re: Триггер на удаление из связанных таблиц  [new]
Civilian
Member

Откуда:
Сообщений: 3
ага, всё нормуль теперь, всем ОГРОМНОЕ СПАСИБО!
22 дек 05, 15:09    [2199406]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить