我有一个名为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行的子查询 在这种情况下。仅允许标量表达式。
我该如何实现?