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

Откуда:
Сообщений: 36
Хочу связать две таблицы:
FriendList:
IDUserIDFriendID
и Users:
ID информация о пользователе
.

В Managment Studio cвязал Users.ID с FriendList.UserID, когда связываю Users.ID с FriendList.FriendID выдает следующее:
автор
Errors were encountered during the save process. some database objects were not saved.

'Users' table saved successfully
'FriendsList' table
- Unable to create relationship 'FK_FriendsList_Users1'.
The ALTER TABLE statement conflicted with the FOREIGN KEY constraint "FK_FriendsList_Users1". The conflict occurred in database "SocialityNetwork", table "dbo.Users", column 'ID'.


Видимо это ограничение на уровне SQL? Как тогда сделать так, что бы при удаление пользователя из таблицы Users удалялись все строки в таблице FriendsList в которых в полях UserID или FriendID стоит ID этого пользователя.
4 мар 14, 09:23    [15667304]     Ответить | Цитировать Сообщить модератору
 Re: Связывание таблиц. Каскадное удаление.  [new]
П-Л
Guest
SELECT * FROM FriendList WHERE FriendID NOT IN (SELECT ID FROM Users)
4 мар 14, 09:26    [15667322]     Ответить | Цитировать Сообщить модератору
 Re: Связывание таблиц. Каскадное удаление.  [new]
wizzzi
Member

Откуда:
Сообщений: 36
Вернее эта ошибка выскакивает когда я ставлю каскадное удаление.
4 мар 14, 09:33    [15667346]     Ответить | Цитировать Сообщить модератору
 Re: Связывание таблиц. Каскадное удаление.  [new]
invm
Member

Откуда: Москва
Сообщений: 9402
wizzzi
Как тогда сделать так, что бы при удаление пользователя из таблицы Users удалялись все строки в таблице FriendsList в которых в полях UserID или FriendID стоит ID этого пользователя.
Написать для таблицы Users триггер instead of delete, в котором и будет удаление из FriendList.
4 мар 14, 09:44    [15667422]     Ответить | Цитировать Сообщить модератору
 Re: Связывание таблиц. Каскадное удаление.  [new]
iap
Member

Откуда: Москва
Сообщений: 47000
Для начала надо выложить здесь скрипты создания таблиц и всех констрейнтов и индексов!
Иначе какой-то беспредметный разговор получается
4 мар 14, 09:46    [15667429]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить