Модераторы: Akina
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> foreign key мешают сделать insert 
:(
    Опции темы
f999t1
Дата 13.6.2013, 06:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 65
Регистрация: 11.4.2006

Репутация: нет
Всего: нет



Надо сделать инсерт из нескольких таблиц на одной бд  в другие таблицы на другой бд
Таблицы схожи по структуре.
Делаю обычный инсерт, но вылезает ошибка изза fk.
Как обойти этот момент?
Можно ли их отключить на момент инсерта, а потом обратно включить?
PM MAIL   Вверх
Akina
Дата 13.6.2013, 08:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 25
Всего: 454



Цитата(f999t1 @  13.6.2013,  07:32 Найти цитируемый пост)
Как обойти этот момент?

Построить правильный порядок инсертов. Сначала копировать данные на стороне "один", и только потом - на стороне "много".

Цитата(f999t1 @  13.6.2013,  07:32 Найти цитируемый пост)
Можно ли их отключить на момент инсерта, а потом обратно включить? 

Отключить - можно. Включить обратно, когда у тебя есть нарушения FK - нельзя. Вернее, можно, но только после устранения несоответствий.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
Zloxa
Дата 13.6.2013, 11:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Чо?
****


Профиль
Группа: Завсегдатай
Сообщений: 3473
Регистрация: 12.9.2008

Репутация: 10
Всего: 161



Цитата(Akina @  13.6.2013,  09:20 Найти цитируемый пост)
Построить правильный порядок инсертов

Добавлю, что некоторые платформы (Оракле-точно и ПГ - вроде как, возможно еще кто-то) поддерживают т.н. deferrable constraints - Ограничения целостности, которые проверяются при фиксации транзакции а не при модификации данных. Не знаю, умеет ли MS. По идее должен бы. Вещь нужная.

Цитата(f999t1 @  13.6.2013,  07:32 Найти цитируемый пост)
Можно ли их отключить на момент инсерта, а потом обратно включить? 

Отключить можно, если эта операция разова и выполняется в режиме ограничения подключений приложений - когда с базой работает только админ.

Это сообщение отредактировал(а) Zloxa - 13.6.2013, 11:17


--------------------
Достоверно известно, что 89% людей доверяют статистике взятой с потолка smile
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "MS SQL"
Akina

Akina

Запрещается!

Публиковать ссылки и обсуждать взлом чего бы то ни было.

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы составления неспецифических запросов рассматриваются здесь
  • Используйте теги [code=sql][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Zloxa, Akina.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MS SQL Server | Следующая тема »


 




[ Время генерации скрипта: 0.0480 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.