SET ANSI_NULLS ON默认值

时间:2015-12-22 14:17:44

标签: sql sql-server

论坛和SQL Server的新手,所以只是试图提高我的评分并提出一些简单的问题。

我有一个包含数百个存储过程的列表,所有这些过程都是SET ANSI_NULLS ON

有没有办法默认这个,这样你就不必在每个脚本的开头声明它了?

1 个答案:

答案 0 :(得分:1)

它并非真正存储在存储过程中。

创建存储过程时捕获该设置,当您要求SQL Server编写存储过程脚本时,它会在CREATE PROCEDURE上方添加适当的设置,以便您可以重新创建存储过程准确。

请参阅CREATE PROCEDURE

  

当创建或修改Transact-SQL过程时,数据库引擎会保存SET QUOTED_IDENTIFIER和SET ANSI_NULLS的设置。执行该过程时将使用这些原始设置。因此,在过程运行时,将忽略SET QUOTED_IDENTIFIER和SET ANSI_NULLS的任何客户端会话设置。

sys.sql_modules

  

uses_ansi_nulls 模块是使用SET ANSI_NULLS ON创建的。