日期:2014-05-19  浏览次数:20386 次

为什么存储过程里set ansi_nulls off无效?
在查询分析器里都是有用的
select   *   from   xxx   where   yyy=null

存储过程里面是没有返回任何数据,因为yyy=后面的值是变量,也许是有值的也许是空值,所以不能用is   null

------解决方案--------------------
对于存储过程,SQL Server 使用最初创建存储过程时的 SET ANSI_NULLS 设置值。无论随后何时执行存储过程,SET ANSI_NULLS 的设置都还原为其最初使用的值并生效。当在存储过程内唤醒调用 SET ANSI_NULLS 时,其设置不更改。