MSSQL Конфликт в ограничении

ALTER TABLE [table_name] ADD CONSTRAINT [name] CHECK ([column] = REPLACE([column], ' ', '') Конфликт в ограничении..,..., колонка [column]

ALTER TABLE [table_name] ADD CONSTRAINT [name] CHECK ([column] <> '') Все ок.

В чем может быть проблема? Такое чувство, что я не могу использовать функции. [column] строка и не может быть нул. Помогите. Спасибо) (пытаюсь создать ограничение на пробелы, также вот такое условие CHARINDEX(' ', [column]) = 0) не работает)


Ответы (1 шт):

Автор решения: rumata28

Я попробовал:

CREATE TABLE t1(name varchar(20))
GO
ALTER TABLE t1 ADD CONSTRAINT [name_no_space] CHECK (name = REPLACE(name, ' ', ''))
GO
INSERT t1 VALUES ('  sd' )
GO

Результат:

Msg 547, Level 16, State 0, Line 6
The INSERT statement conflicted with the CHECK constraint "name_no_space". The conflict occurred in database "dbtest", table "dbo.t1", column 'name'.
The statement has been terminated.
→ Ссылка