列中的唯一左值

时间:2019-03-27 09:15:00

标签: sql-server tsql check-constraints

我有一个名为fs_dw_string的表和一个名为header的列。我需要创建一个检查约束,以确保header的每个值都不是其他任何值的left部分。例如,如果插入了值'foo',则检查约束应禁止'foobar',反之亦然。

我尝试过:

ALTER TABLE dbo.fs_dw_string   
ADD  CONSTRAINT CHK_UNIQUE_START 
CHECK (not exists (select 1 from fs_dw_string t where header=left(t.header,len(header))));  

得到

  

在以下位置不允许消息1046,级别15,状态1,第12行的子查询   在这种情况下。仅允许标量表达式。

我该如何实现?

0 个答案:

没有答案