Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Вопрос по truncate  [new]
user87
Member

Откуда:
Сообщений: 257
Добрый день.

У меня есть таблица, мне надо по ней сделать truncate table, но на таблицу навешаны два внешних ключа и pk
Отключаю fk следующим образом
Alter table table1 with nocheck check constraint all

Далее ищу кула ссылается pk
Sp_help table1 в последнем резалсете выдает результат внешних таблиц

По каждой таблице отключаю констраинты таким же способом, что и выше


Далее делаю truncate но выпадает ошибка на то что у меня есть внешние ключи


Drop constraint не хотел бы делать

Подскажите, что делаю не так

Заранее спасибо, насчет truncate делаю осознанно))
29 мар 13, 16:28    [14113803]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос по truncate  [new]
Паганель
Member

Откуда: Винница
Сообщений: 22552
user87
Drop constraint не хотел бы делать
почему?
29 мар 13, 16:30    [14113817]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос по truncate  [new]
Гость333
Member

Откуда:
Сообщений: 3683
user87
Drop constraint не хотел бы делать

А придётся.
29 мар 13, 16:31    [14113823]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос по truncate  [new]
Гость333
Member

Откуда:
Сообщений: 3683
user87
Отключаю fk следующим образом
Alter table table1 with nocheck check constraint all

Это не обязательно.
автор
You cannot use TRUNCATE TABLE on tables that:
Are referenced by a FOREIGN KEY constraint.
Participate in an indexed view.
Are published by using transactional replication or merge replication.

Ограничений типа "Have a FOREIGN KEY constraint" в BOL нет.
29 мар 13, 16:33    [14113833]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос по truncate  [new]
user87
Member

Откуда:
Сообщений: 257
Понял буду drop делать, делать не хотел так как может быть потребность восстановить их обратно
29 мар 13, 16:36    [14113845]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос по truncate  [new]
Паганель
Member

Откуда: Винница
Сообщений: 22552
что значит может быть? их и нужно восстановить сразу после truncate
29 мар 13, 16:37    [14113860]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос по truncate  [new]
Ivan Durak
Member

Откуда: Minsk!!!
Сообщений: 3618
Гость333
Are referenced by a FOREIGN KEY constraint.

Вот у автора этот случай. Вы просто его невнимательно читали
29 мар 13, 16:38    [14113864]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос по truncate  [new]
user87
Member

Откуда:
Сообщений: 257
Восстановить пока не просили, но могут
29 мар 13, 16:40    [14113885]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос по truncate  [new]
Паганель
Member

Откуда: Винница
Сообщений: 22552
user87
Восстановить пока не просили, но могут
ага, а пока не попросили в таблу нальется всякий мусор
29 мар 13, 16:41    [14113894]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос по truncate  [new]
Гость333
Member

Откуда:
Сообщений: 3683
Ivan Durak
Гость333
Are referenced by a FOREIGN KEY constraint.

Вот у автора этот случай. Вы просто его невнимательно читали

Я внимательно читал. Я написал, что выделенное жирным делать не обязательно:
user87
Отключаю fk следующим образом
Alter table table1 with nocheck check constraint all


Далее ищу кула ссылается pk
Sp_help table1 в последнем резалсете выдает результат внешних таблиц

По каждой таблице отключаю констраинты таким же способом, что и выше

Подчёркнутое — делать нужно. Только не дизаблить, а удалять, и не "таким же образом" (то есть сносить все констрейнты одним махом), а выбрать нужные.
29 мар 13, 16:42    [14113902]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить