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语句只会编译不会执行。 

 

 

posted @ 2022-04-12 22:46  Bridgebug  阅读(35)  评论(0编辑  收藏  举报