在t-SQL MERGE语句的以下小节中,是否需要括号(括号)?
WHEN MATCHED
AND ( Target.CustomerName <> Source.CustomerName
OR Target.Planet <> Source.Planet
)
THEN
UPDATE SET
Target.CustomerName = Source.CustomerName
, Target.Planet = Source.Planet
我问,因为我正在使用t-SQL格式化工具(ApexSQL),它将这些括号标识为不必要,因此删除它们,因此:
WHEN MATCHED
AND Target.CustomerName <> Source.CustomerName
OR Target.Planet <> Source.Planet
THEN
UPDATE SET
Target.CustomerName = Source.CustomerName
, Target.Planet = Source.Planet
然而,这个罐子与我对AND,OR逻辑的基本理解......这是一个特例吗?
提前谢谢!
答案 0 :(得分:0)
是的,它是可选的。使用WHEN MATCHED
WHEN MATCHED [ AND <clause_search_condition> ]
单独评估clause_search_condition