3

我正在尝试创建以下检查约束。

(
   [Href] IS NOT NULL AND
   [ETag] IS NOT NULL AND
   [UserName] IS NOT NULL AND
   [Password] IS NOT NULL AND
   [UID] IS NOT NULL
)
OR
(
   [Href] IS NULL AND
   [ETag] IS NULL AND
   [UserName] IS NULL AND
   [Password] IS NULL AND
   [UID] IS NULL
)

我可以保存它并且没有错误。但是 SSMS 删除了两个内括号(因此只有开头的左括号和结尾的右括号)。

这似乎完全改变了意思。我希望所有这些列都为空,或者它们都不为空。SQL Server 不能处理这个问题有什么原因吗?

4

1 回答 1

8

SSMS 是正确的。不需要括号。

AND具有比ORSQL 更高的优先级,因此带括号和不带括号的两个版本是等效的。

于 2012-07-31T00:32:23.323 回答