我正在尝试在 sql server 2008 上添加检查约束。运行此代码时出现以下错误:
alter table db.dbo.myTable add constraint
noWWWifProgramIsKnown check
(dbo.checkcountuniversalservice(A, B,
C)=0 and program='WWW' )
引发错误:
ALTER TABLE 语句与 CHECK 约束“noWWWifProgramIsKnown”冲突。冲突发生在数据库“db”、表“dbo.tableuniversalservice”中。
Marc_s 对 SO 的回答说这可能是 b/c 某些行违反了约束: ALTER TABLE 语句冲突
但是,没有行违反约束,因为这将返回 0:
select COUNT(*) from db.dbo.tableuniversalservice
where
(dbo.checkcountuniversalservice(A, B, C)=0
and
program='WWW'
)
我错过了什么?