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

Откуда:
Сообщений: 181
Есть три таблицы Клиенты, Контакты и КонтактныеЛица. Я поставила внешний ключ на удаление, то есть при удалении записей из табл Клиенты удаляются и все записи из табл Контакты соответствующие удаляемому клиенту. То же самое и с КонтактнымиЛицами. Теперь я должна создать триггеры на удаление во всех трех таблицах, чтобы копия удаляемой записи записывалась в другую таблицу (корзину) У меня вот такой вопрос, триггер не забъет внешний ключ? То есть до создания триггеров все удалялось без проблем, а если пишешь триггер на удаление, то все так и будет каскадно удаляться???? Извиняюсь за беспокойство, но к сожалению, проверить на данных не могу.
8 янв 04, 15:12    [484235]     Ответить | Цитировать Сообщить модератору
 Re: Триггер и внешний ключ  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74925
Triggers and Cascading Referential Actions
Cascading referential actions fire AFTER triggers in this sequence:

1. All of the cascading referential actions directly caused by the original DELETE or UPDATE are performed first.

2.When the original cascading referential actions have completed, the AFTER triggers on the original table are fired, regardless of whether any rows were updated.

3. AFTER triggers on tables in the chain of cascaded referential actions are then fired, but only if one or more rows in the table have been updated or deleted.

If any errors are generated by any of the original set of cascading referential actions, an error is raised, no AFTER triggers are fired, and the DELETE or UPDATE is rolled back.

An AFTER trigger can execute a DELETE or UPDATE statement that starts another chain of cascading referential actions. Each secondary chain of referential actions is treated independently. These secondary chains of referential actions behave like the primary chain. All of the secondary referential actions are completed before any secondary triggers are fired. Within each independent unit, there is no defined order in which the cascading referential actions are executed and the affected triggers are fired.
8 янв 04, 15:16    [484248]     Ответить | Цитировать Сообщить модератору
 Re: Триггер и внешний ключ  [new]
Glory
Member

Откуда:
Сообщений: 104760
Извиняюсь за беспокойство, но к сожалению, проверить на данных не могу.

Интересно почему ? Нельзя создать тестовые таблицы ?
8 янв 04, 15:20    [484260]     Ответить | Цитировать Сообщить модератору
 Re: Триггер и внешний ключ  [new]
ange
Member

Откуда:
Сообщений: 181
сенькс
8 янв 04, 15:22    [484268]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить