![]() |
|
Модераторы: Akina |
![]()
|
|
| Crypton |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 158 Регистрация: 9.10.2006 Где: США, Санкт-Петерб ург Репутация: нет Всего: 2 |
Задача. Есть две таблицы: Пользователи и ЛичныеСообщения (Members, ForumPrivateMessages). В личных сообщениях есть столбцы From/To (от/кому) которые связаны с Id пользователя в Members. Надо что-бы если пользователя удаляют, то при удалении либо удалять все связанные с ним сообщения, или присваивать null к To/From. При попытке создать связь вылетает следующее. Кто поможет или лучше сделать триггер?
Дизайн базы данных http://dl.getdropbox.com/u/40766/db.png --------------------
«Все, что вы знаете — ложь» Теория мироздания |
|||
|
||||
| Zioma |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 150 Регистрация: 22.8.2007 Репутация: 5 Всего: 5 |
А код создания внешнего ключа можешь привести?
Если все делаешь в дизайнере, то скрин. |
|||
|
||||
| Itsys |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1338 Регистрация: 21.1.2008 Где: г. Москва Репутация: 1 Всего: 34 |
Не видя базу, сложно сказать. Не хочет так - сделай тригер на удаление, кторый удлит все сообщения.
|
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 25 Всего: 454 |
-------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| Crypton |
|
||||||||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 158 Регистрация: 9.10.2006 Где: США, Санкт-Петерб ург Репутация: нет Всего: 2 |
Сгенерированный
Надо потом в коде разбираться если пользователь еще актуален. Тобишь если задаем нуль, то просто (LINQ), From != null, ну а если удаляем, то вообще проверки кода логически никогда не произойдет.
Хм, думал диаграмма этот вопрос покроет --------------------
«Все, что вы знаете — ложь» Теория мироздания |
||||||||
|
|||||||||
| Itsys |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1338 Регистрация: 21.1.2008 Где: г. Москва Репутация: 1 Всего: 34 |
В документации четко написано:
Так что, только тригеры Это сообщение отредактировал(а) Itsys - 4.11.2009, 09:36 |
|||
|
||||
| Crypton |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 158 Регистрация: 9.10.2006 Где: США, Санкт-Петерб ург Репутация: нет Всего: 2 |
Тоесть получается, что нельзя иметь более одной связи с одними и теми-же таблицами?
--------------------
«Все, что вы знаете — ложь» Теория мироздания |
|||
|
||||
| Itsys |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1338 Регистрация: 21.1.2008 Где: г. Москва Репутация: 1 Всего: 34 |
нельзя
|
|||
|
||||
| Zloxa |
|
|||
|
Чо? ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3473 Регистрация: 12.9.2008 Репутация: 10 Всего: 161 |
Можно.
Нельзя допускать рекурсивных циклов на каскадном обновлении. -------------------- Достоверно известно, что 89% людей доверяют статистике взятой с потолка |
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 25 Всего: 454 |
Мне это кажется бредом воспалённого сознания. ID - уникальный идентификатор записи - на то и УНИКАЛЬНЫЙ, чтобы встретиться один раз, и навсегда. Чтобы его использовала только подсистема обеспечения целостности и непротиворечивости информации. И этот уникальный идентификатор должен быть верен своей записи до тех пор, пока существует эта таблица или хотя бы одна другая таблица, которая связана с этой по этому полю. И неважно, удалена запись или нет. А если так - зачем её удалять? -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| Zloxa |
|
|||
|
Чо? ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3473 Регистрация: 12.9.2008 Репутация: 10 Всего: 161 |
Странный вопрос ;) Не, мне кажется я понимаю о чем ты... ты наверное о том самом случае, когда затраты на реализацию операции удаления не отбиваются эффектом от ее наличия... Но это ведь не общий случай, только лишь "весьма распространенный". А ответ на вопрос очевиден. Для того что бы не содержать тьму тмущую записей, в то время, кода нужна лишь тьма. Это сообщение отредактировал(а) Zloxa - 5.11.2009, 11:42 -------------------- Достоверно известно, что 89% людей доверяют статистике взятой с потолка |
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 25 Всего: 454 |
Zloxa, обрати внимание - ТС рассматривает вариант НЕ-удаления мессаг при удалении юзера как вполне допустимый. Чисто ноль прописАть ему кажется достаточным.
В этих условиях удаление пользователя - ну несерьёзно... -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| Zloxa |
|
|||
|
Чо? ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3473 Регистрация: 12.9.2008 Репутация: 10 Всего: 161 |
Akina, даже на этом форуме я встречал посты от анигелированных ныне пользователей. Если пользователей удаляют, видимо, ожидают от того какого то бенефита. Серьезен он или нет, не нам судить, но задуматься ТС над тем, думается, таки следовало бы.
-------------------- Достоверно известно, что 89% людей доверяют статистике взятой с потолка |
|||
|
||||
| Crypton |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 158 Регистрация: 9.10.2006 Где: США, Санкт-Петерб ург Репутация: нет Всего: 2 |
Ладно. Посчитаю проблемой решенной. Буду тупо проверять средствами LINQ. (pm.FromMember!=null).
--------------------
«Все, что вы знаете — ложь» Теория мироздания |
|||
|
||||
| fanat12 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 1 Регистрация: 30.1.2010 Репутация: нет Всего: нет |
Помогите!
использую MSSQL Server 2005 ,не работает каскадное удаление .Необходимо удалить personinfo,contacts,recommendator, оставить im даю ссылку на диаграмму. http://2img.org.ua/v.php?id=c99b5c37285cf7...5138a51d1af.png |
|||
|
||||
![]()
|
| Правила форума "MS SQL" | |
|
|
Запрещается! Публиковать ссылки и обсуждать взлом чего бы то ни было.
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Zloxa, Akina. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | MS SQL Server | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |