sqlserver处理选项
ANSI_NULLS (判断Null)
SET ANSI_NULLS ON | OFF (默认为ON)
注释:指定在与 Null 值一起使用等于 (=) 和不等于 (<>) 比较运算符时采用符合 ISO 标准的行为。
例:列 [Name] 存在 null 值,若设置为 ON,当筛选 where [Name] = null 时会判断为 false。
PS:where [Name] is null 不受影响。
QUOTED_IDENTIFIER (引用标识符)
SET QUOTED_IDENTIFIER ON | OFF (默认为ON)
注释:使 SQL Server 遵从关于引号分隔标识符和文字字符串的 ISO 规则。 由双引号分隔的标识符可以是 Transact-SQL 保留关键字,也可以包含 Transact-SQL 标识符语法约定通常不允许的字符(主要是关键字,防止冲突)
SET QUOTED_IDENTIFIER OFF
create table "TTTT" --会报错
(
[ID] int
)
当 为 ON 时,标识符/数据库内关键字可以由双引号括着,上述SQL语句就不会报错。
当 为 OFF 时,标识符不可加引号,加了引号也没有用,且必须符合所有 Transact-SQL 标识符规则。
NOCOUNT (无行数)
SET NOCOUNT ON | OFF (默认为OFF)
注释:使返回的结果中不包含有关受 Transact-SQL 语句影响的行数的信息。 OFF表示返回
每次我们在使用查询分析器调试SQL语句的时候,通常会看到一些信息,提醒我们当前有多少个行受到了影响,当设置为ON,就不会返回行数。
PS:即使当 SET NOCOUNT 为 ON 时,也更新 @@ROWCOUNT(表示上一条语句受影响的行数) 函数。
NOEXEC (不执行)
SET NOEXEC ON | OFF (默认为OFF)
注释:编译每个查询但不执行。
设置为ON后,所有相关的TSQL语句只会编译不会执行。