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

Откуда: Харьков
Сообщений: 823
Как мне обновить констрейнт если сервер заявляет следующее

ALTER TABLE [dbo].[t1] DROP CONSTRAINT [CK1]

Server: Msg 3728, Level 16, State 1, Line 1
'CK1' is not a constraint.
Server: Msg 3727, Level 16, State 1, Line 1
Could not drop constraint. See previous errors.

ALTER TABLE [dbo].[t1] ADD CONSTRAINT [CK1] CHECK ([SN] is not null or ([Status] IN (5,3,2)))

Server: Msg 547, Level 16, State 1, Line 1
ALTER TABLE statement conflicted with TABLE CHECK constraint 'CK1'. The conflict occurred in database 'db', table 't1'.
7 окт 09, 14:14    [7753588]     Ответить | Цитировать Сообщить модератору
 Re: Констрейнт есть или нет  [new]
iap
Member

Откуда: Москва
Сообщений: 46975
EXECUTE sp_help N'[dbo].[t1]';
что возвращает?
Про [CK1] что-нибудь там есть?
7 окт 09, 14:22    [7753635]     Ответить | Цитировать Сообщить модератору
 Re: Констрейнт есть или нет  [new]
vladK
Member

Откуда: Харьков
Сообщений: 823
[CK1] нет
7 окт 09, 14:31    [7753686]     Ответить | Цитировать Сообщить модератору
 Re: Констрейнт есть или нет  [new]
Влом регистрироваться
Guest
vladK,

IF EXISTS(SELECT * FROM sys.check_constraints WHERE name = 'CK1')
        ALTER TABLE [dbo].[t1] DROP CONSTRAINT [CK1]


ALTER TABLE [dbo].[t1] ADD CONSTRAINT [CK1] CHECK ([SN] is not null or ([Status] IN (5,3,2)))
7 окт 09, 14:39    [7753736]     Ответить | Цитировать Сообщить модератору
 Re: Констрейнт есть или нет  [new]
msLex
Member

Откуда:
Сообщений: 7856
select * 
  from sysobjects 
 where id =  object_ID('CK1')


+ защита аувва

? (вопросительный знак, означающий, что это был вопрос)
(смайлек, означающий что это шутка)
(с) (типа это на самом деле цытата! так делает кац алапый мишико)
шутко! (явный дисклеймер)
7 окт 09, 14:40    [7753750]     Ответить | Цитировать Сообщить модератору
 Re: Констрейнт есть или нет  [new]
Glory
Member

Откуда:
Сообщений: 104760
SELECT COUNT(*) FROM [dbo].[t1] WHERE ([SN] is not null or ([Status] IN (5,3,2)))
7 окт 09, 14:41    [7753756]     Ответить | Цитировать Сообщить модератору
 Re: Констрейнт есть или нет  [new]
Влом регистрироваться
Guest
Glory,

SELECT COUNT(*) FROM [dbo].[t1] WHERE *** NOT *** ([SN] is not null or ([Status] IN (5,3,2)))
7 окт 09, 14:45    [7753780]     Ответить | Цитировать Сообщить модератору
 Re: Констрейнт есть или нет  [new]
Glory
Member

Откуда:
Сообщений: 104760
Влом регистрироваться
Glory,

SELECT COUNT(*) FROM [dbo].[t1] WHERE *** NOT *** ([SN] is not null or ([Status] IN (5,3,2)))

Угу
7 окт 09, 14:48    [7753803]     Ответить | Цитировать Сообщить модератору
 Re: Констрейнт есть или нет  [new]
vladK
Member

Откуда: Харьков
Сообщений: 823
Да, спасибо, с опцией WITH NOCHECK создал. Но сообщение об ошибки сбивающее с толку.

Microsoft SQL Server 2000 - 8.00.2055.
7 окт 09, 17:38    [7754915]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить