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

Откуда: Moscow
Сообщений: 252
Как убить все constraint'ы для таблицы (кроме PK) ? Подскажите...
25 фев 03, 10:46    [134699]     Ответить | Цитировать Сообщить модератору
 Re: Как убить все constraint'ы для таблицы ?  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74925
Что ты имеешь ввиду. Какие запросы написать, или как в дизайнере таблиц это сделать.
25 фев 03, 10:52    [134708]     Ответить | Цитировать Сообщить модератору
 Re: Как убить все constraint'ы для таблицы ?  [new]
Glass
Member

Откуда: Moscow
Сообщений: 252
Ну да. запрос нужно написать, который грохает constraint'ы во всей базе. Т.е. самих их я могу отловить в sysobjects, но как определить, к какой таблице они привязаны?
25 фев 03, 10:54    [134712]     Ответить | Цитировать Сообщить модератору
 Re: Как убить все constraint'ы для таблицы ?  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74925
Ну там же есть parent_obj
25 фев 03, 11:00    [134727]     Ответить | Цитировать Сообщить модератору
 Re: Как убить все constraint'ы для таблицы ?  [new]
YuriAM
Member

Откуда:
Сообщений: 829
SELECT t1 = o1.name, t2 = o2.name, t1k = c.name, 

t2k = c1.name
FROM sysforeignkeys f JOIN
sysobjects o1 ON o1.id = f.fkeyid JOIN
sysobjects o2 ON o2.id = f.rkeyid JOIN
syscolumns c ON c.id = f.fkeyid AND c.colid = f.fkey JOIN
syscolumns c1 ON c1.id = f.rkeyid AND
c1.colid = f.rkey
WHERE f.constid IN
(SELECT DISTINCT o.id
FROM sysobjects o
WHERE o.type = 'F')
ORDER BY 1, 2


выдаст все ForeignKeys
25 фев 03, 11:09    [134733]     Ответить | Цитировать Сообщить модератору
 Re: Как убить все constraint'ы для таблицы ?  [new]
Glory
Member

Откуда:
Сообщений: 104760
Может проще будет использовать
SELECT * FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS
25 фев 03, 11:16    [134738]     Ответить | Цитировать Сообщить модератору
 Re: Как убить все constraint'ы для таблицы ?  [new]
YuriAM
Member

Откуда:
Сообщений: 829
Может :-)
25 фев 03, 11:20    [134744]     Ответить | Цитировать Сообщить модератору
 Re: Как убить все constraint'ы для таблицы ?  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74925
To Glory

Но там ведь тока чек констрайнтс, а автор видать еще и FK грохнуть хочет.
25 фев 03, 11:24    [134747]     Ответить | Цитировать Сообщить модератору
 Re: Как убить все constraint'ы для таблицы ?  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74925
Блин, Ашибочка вышла, на INFORMATION_SCHEMA.CHECK_CONSTRAINTS глядел, звиняйте.
25 фев 03, 11:25    [134750]     Ответить | Цитировать Сообщить модератору
 Re: Как убить все constraint'ы для таблицы ?  [new]
Glass
Member

Откуда: Moscow
Сообщений: 252
Всем спасибо.
25 фев 03, 13:57    [134913]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить