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

Откуда: Kiev
Сообщений: 246
Требуется пересоздать несколько таблиц в базе. Многие ругаются на drop, так как присутствует foreign key с других таблиц.
Можно ли перед дропом как-нибудь красиво удалить все foreign key?
Хотелось бы что-то похожее на
exec sp_msforeachtable 'alter table ? nocheck constraint all'

только чтобы drop constraint для tablename.
22 дек 11, 19:46    [11811645]     Ответить | Цитировать Сообщить модератору
 Re: Как удалить все foreign key на таблицу?  [new]
libru
Member

Откуда:
Сообщений: 877
во народ ленивый пошел! да там руками на 5 минут мышкокликанья
22 дек 11, 19:50    [11811663]     Ответить | Цитировать Сообщить модератору
 Re: Как удалить все foreign key на таблицу?  [new]
^junior^
Member

Откуда: Kiev
Сообщений: 246
Ну, во первых, лень - двигатель прогресса. :)
А, во вторых, не так и мало там "мышкокликанья". Может я неправильно выразился. пусть будет не "несколько таблиц, а "несколько десятков таблиц".
22 дек 11, 19:58    [11811681]     Ответить | Цитировать Сообщить модератору
 Re: Как удалить все foreign key на таблицу?  [new]
Bragaik
Member

Откуда:
Сообщений: 1
понятно.
23 дек 11, 01:39    [11812394]     Ответить | Цитировать Сообщить модератору
 Re: Как удалить все foreign key на таблицу?  [new]
step_ks
Member

Откуда:
Сообщений: 936
declare @s nvarchar(max)
select @s=isnull(@s+'; ','')+'alter table '+quotename(object_schema_name(parent_object_id))+'.'+quotename(object_name(parent_object_id))+' drop constraint '+quotename(name)
    from sys.foreign_keys
exec (@s)
23 дек 11, 08:38    [11812662]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить