我正在尝试创建以下检查约束。
(
[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删除了两个内括号(这样在开始处只有左括号,在结尾处只有右括号)。
这似乎完全改变了意义。我希望所有这些列都为null或者它们都不为null。有没有理由说SQL Server无法处理这个?
答案 0 :(得分:6)
SSMS是正确的。不需要括号。
AND
的优先级高于SQL中的OR
,因此带括号和不带括号的两个版本是等效的。