powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Каскадное удаление
3 сообщений из 3, страница 1 из 1
Каскадное удаление
    #32006728
Евгений
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Каким образом сделать триггер на каскадное удаление. При попытке простого запроса на удаление пишет, что на родительскую таблицу ссылается внешний ключ. В конфе где-то было предложение удалять ограничения и потом их восстанавливать, но хотелось бы обойтись без этого. Используется SQL Server 7.0
...
Рейтинг: 0 / 0
Каскадное удаление
    #32006732
Alexander Chepack
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В версиях до 7.0 включительно Вы, если Вам необходимо каскадное удаление, всю целостность придется реализовывать на триггерах (без foreign keys), или для удаления
писать специальную sp - но тогда это уже нельзя будет назвать каскадным удалением...

Ну а в SQL2K все красиво ...
...
Рейтинг: 0 / 0
Каскадное удаление
    #32006733
GreenSunrise
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хотелось бы добавить следующее. Предложение "удалять ограничения и потом их восстанавливать" - это не есть хорошо. Операция удаления выполняется не мгновенно, а следовательно существует ненулевая вероятность, что кто-то попробует в это время вклиниться и, например, добавить данные, которые не удовлетворяют ссылочной целостности. Поскольку в этот момент foreign keys выключены, то эта операция выполнится. А секундой позже произойдет попытка включения foreign keys, которая облажается на новых данных. И привет.
Alexander прав - на 7-ке или только триггера без foreign keys или sp.
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Каскадное удаление
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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