![]() |
|
Модераторы: gambit |
![]()
|
|
| Killerman |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 137 Регистрация: 26.10.2007 Репутация: нет Всего: нет |
Кто знает, как в MS SQL Server-2005 задается отложеная проверка ограничения ссылочной целостности внешнего ключа?
У меня у Base1 есть ключ PK1. Base2 ссылается на него через свой FK1. Получается что в базу2 нельзя добавить записи, у которых значение у столбца FK1 не будет совпадать с одним из PK1 из Базы1. Выполняется транзакция, которая добавляет запись в базу1 и базу2. Причем строка из базы2 ссылается на значение строки из базы1. Но так как строка из базы1 еще не существует, то появляется ошибка из за ограничения ключа. Поэтому мне нужно отложить проверку ограничения внешнего ключа до завер транзакции. Раньше это задавалось в самообъявлении внешнего ключа базы: Create Table Base2( name char(20) Primary Key, ID# int UNIQUE References Base1(Cert#) Deferrable Initially deferred ) Фраза "Deferrable Initially deferred" откладывала проверку до завершения транзакции. А счас я не знаю как это сделать. |
|||
|
||||
| Killerman |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 137 Регистрация: 26.10.2007 Репутация: нет Всего: нет |
Похоже в MS SQL Server-2005 для транзакций эта опция стоит автоматически.
|
|||
|
||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, stab, mr.DUDA, Exception. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Базы данных под .NET | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |