Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Cascaded delete / 6 сообщений из 6, страница 1 из 1
05.08.2002, 16:30:37
    #32040939
MrHope
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Cascaded delete
Приветствую знатоков (и не)

ламерский вопрос: не получается удалить trigger ом из связанной таблицы, когда из родителя удаляется данная.

Например, был клиент, были у него данные в таблице ААА. Есть таблица ВВВ, где все заказы клиентов. Вот, этот клиент удаляется из таблицы ААА, там триггер на удаление, и надо все заказы, подлежашие ему, удалить из таблицы ВВВ.

не получается использовать deleted таблицу. селект из этой таблицы дает нулл.

на ms-sql 7.0

может всезнающий алл подскажет?
...
Рейтинг: 0 / 0
05.08.2002, 17:05:22
    #32040952
Genady
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Cascaded delete
Если Вы используете DRI, то ограничения по нему срабатывают до старта триггера, поэтому надо (в семерке) выбирать что то одно либо DRI либо ссылочную целостность поддерживать триггерами.
...
Рейтинг: 0 / 0
05.08.2002, 17:33:34
    #32040962
ВладимирМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Cascaded delete
Нет, почему же, можно и то и другое.

Только для каскадного удаления придется писать процедуру. И вместо команды DELETE на родительскую таблицу вызывать эту процедуру. Ну а в процедуре сначала удаляются записи из дочерней таблицы, а потом запись из родительской.

Двойная работа, согласен, но тут уж ничего не поделаешь.
...
Рейтинг: 0 / 0
05.08.2002, 17:36:23
    #32040964
Genady
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Cascaded delete
Нет, почему же, можно и то и другое.

Это не совсем и то и другое, с процедурой ссылочную целостность триггерами поддерживать не надо. :-)
Кстати, вариант с процедурой считаю наиболее предпочтительным.
...
Рейтинг: 0 / 0
05.08.2002, 20:13:15
    #32041020
Сергей Тихонов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Cascaded delete
Или переходить на MSSQL 2000. Там есть INSTEAD OF -триггеры.
...
Рейтинг: 0 / 0
06.08.2002, 09:48:48
    #32041077
SergSuper
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Cascaded delete
2 MrHope
На самом деле это легко реализуется на 7-м, на 2000-й переходить необязательно. Во всяком случае на 4-м я так делал. И всё это делается на триггерах.
Мне непонятна эта фраза: не получается использовать deleted таблицу. селект из этой таблицы дает нулл.
Так не должно быть, посмотрите внимательней
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Cascaded delete / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]