2015-12-03 5 views
0

У меня есть две таблицы tblA и tblB. И между этими таблицами создается ограничение, называемое tblA_tblB_FK. Я хотел обновить оба столбца в таблицах, связанных с ограничением tblA_tblB_FK. При чтении разных сообщений я думал, что лучший способ - отключить ограничение на мгновение и снова включить его после обновления. По этой причине я выполнил эти запросы:Ключ проверки не работает в студии управления sql

alter table tblA NOCHECK CONSTRAINT tblA_tblB_FK 

После этого шага я сделал обновление и до сих пор все было нормально, но потом я попробовал еще раз, чтобы включить ограничение, поэтому я выполнил этот запрос:

ALTER TABLE tblA CHECK CONSTRAINT tblA_tblB_FK 

и он говорит, что команда успешно завершена. Но когда я пытаюсь сделать обновление снова, это не мешает мне сделать это, то есть проблема с процессом включения. Я попытался выполнить другой запрос:

ALTER TABLE tblA WITH CHECK CHECK CONSTRAINT tblA_tblB_FK 

и это не позволяет мне жаловаться там tblA_tblB_Fk ограничение активно. Я не понимаю, почему это позволяет мне сделать обновление, хотя это не позволяет мне выполнить эту команду?

Я использую SQL Server 2005. Спасибо заранее за любые предложения!

ответ

0

Проверьте, что вы вставляете и обновляете спецификацию для внешнего ключа в студии управления в таблице Table> name> Keys. Он может иметь значение «Каскад».

+0

Вы обновляете родительскую таблицу или зависимую таблицу? –

+0

Мне нужно обновить оба из них –

+0

попробуйте перезагрузить сервер sql. –