Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > MS SQL Server > Отключение и вкл-ие проверки ссылочной целостности


Автор: valent_N 2.2.2007, 00:21
Как в MS SQL Server 2005 (я использую Express Edition) на время включать и выключать связи (relations) между таблицами? То есть, проверки на FOREIGN KEYS. Я работаю, в основном, в MySQL, так там это просто - надо обнулить или установить в 1 соответствующую серверную переменную. А как у Microsoft'а? Спасибо!

Автор: kobra 2.2.2007, 08:47
Код

-- Disable the constraint.
ALTER TABLE cnst_example NOCHECK CONSTRAINT salary_cap;

-- Reenable the constraint.
ALTER TABLE cnst_example WITH CHECK CHECK CONSTRAINT salary_cap;


Автор: valent_N 2.2.2007, 21:47
Большое спасибо!

Тогда, если можно, еще вопрос:
А как будет вести себя сервер, если создается новая база данных, и, при этом, создаются в произвольном порядке сначала все пустые таблицы, но уже со всеми нужными связями (relations)? Ведь при создании все связи уже включены на предмет проверки ссылочной целостности. Не будет ли он, сервер, ругаться, если вдруг создается пустая таблица, которая ссылается на другую таблицу,  еще не созданную?
Например, в случае баз данных MySQL, даже если ссылающаяся таблица является пустой, а ссылаемая ею еще не создана, то сервер ругается, хотя самих-то ссылок пока еще нет. Похоже, что в случае MS SQL не так?

Еще раз спасибо за Вашу помощь. Извините, что задаю второй вопрос, ответ на который должен был бы и сам получить проверкой на компьютере, но в данный момент не имею такой возможности, а время жалко терять.
С уважением,
Валентин

Автор: kobra 4.2.2007, 01:15
Цитата(valent_N @  2.2.2007,  21:47 Найти цитируемый пост)
А как будет вести себя сервер, если создается новая база данных, и, при этом, создаются в произвольном порядке сначала все пустые таблицы, но уже со всеми нужными связями (relations)? 
ето в польне нормально
Цитата(valent_N @  2.2.2007,  21:47 Найти цитируемый пост)
Не будет ли он, сервер, ругаться, если вдруг создается пустая таблица, которая ссылается на другую таблицу,  еще не созданную?
естественно будет ругатся

Автор: valent_N 9.2.2007, 22:56
Спасибо большое!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)