2009-09-03 59 views
1

如果我有一个表,约束,SQL Server 2005是否在约束中使用短路评估?

(field1 is null and field2 is not null and dbo.expensivefunction(field2) = field3) 

如果我场2为null,则该函数将被称为反正?

是否“和”在.Net中的sql server 2005的约束条件中的含义与(并且,& &)相等?

+0

您的标题看起来不符合您的问题。 – RedFilter 2009-09-03 18:46:07

回答

1

SQL Server做短路操作,但操作的顺序取决于优化器,所以答案可能是这样。看到这个blog entry。在实践中,我使用了诸如你的语句而没有任何问题 - 可能是因为优化器首先提供了更简单的检查,尽管没有保证。

+0

感谢您给我表达“短路评估”我不知道该怎么称呼 – Fredou 2009-09-03 19:06:50