我已经得到了具有此类结构的表:SQL Server的检查约束逻辑
CREATE TABLE #Mine
(
ProductID INT
, CountryID INT
, ApplicationID INT
);
假设有数据如下:
ProductID CountryID ApplicationID
1 2 -1
1 3 -1
1 3 2
我想这样的强制执行逻辑,没有其他ProductID
/CountryID
组合在整个表如果它存在与ApplicationID = -1
。在我的例子第二和第三行不会通过这个。
我可以创建一个自定义函数来验证它,并使其约束CHECK
。有没有更好的方法来做到这一点?
我已经回答了,但现在我不那么肯定它是有效的。你是说你只想要一行存在'ApplicationID'为-1的地方吗? – DavidG
@DavidG正确的,可以有多行“ProductID”/“CountryID”组合与除-1之外的其他ApplicationID组合。 –
我认为我的编辑现在可以做到这一点。 – DavidG