sqlserver中常用的四个选项(NOCOUNT/ANSI_NULLS/QUOTED_IDENTIFIER/ XACT_ABORT)
1 NOCOUNT选项
当 SET NOCOUNT 为 ON 时,不返回计数。
当 SET NOCOUNT 为 OFF 时,返回计数。
eg:
if object_id(N'table_test',N'U') IS not null
drop table table_test
go
CREATE TABLE table_test(id INT,name VARCHAR(50))
go
INSERT INTO table_test VALUES(1,'xiaoming'),(2,null)
go SET NOCOUNT ON
SELECT * FROM table_test
GO![]()
SET NOCOUNT OFF
SELECT * FROM table_test
GO
2 ANSI_NULLS 选项
SQL92 ANSI/ISO(简称SQL-92)标准要求对空值(NULL)的等于 (=) 或不等于 (<>) 比较取值都为 FALSE。
当 SET ANSI_NULLS 为 ON 时,表示SQL语句遵循SQL-92标准。
字段(column_name) 中包含空值,使用 WHERE column_name = NULL 的 SELECT 语句仍返回零行。
当 SET ANSI_NULLS 为 OFF 时,表示不遵从 SQL-92 标准。
使用 WHERE column_name = NULL 的 SELECT 语句返回
column_name 中包含空值的行。
eg:
SET ANSI_NULLS ON
SELECT TOP 100 * FROM table_test WHERE name = NULL
GO
SET ANSI_NULLS OFF
SELECT TOP 100 * FROM table_test WHERE name = NULL
GO
3 QUOTED_IDENTIFIER选项(引用标识符)
数据库对象的名称即为其标识符。Microsoft SQL Server 中的所有内容都可以有标识符。服务器、数据库和数据库对象(例如表、视图、列、索引、触发器、过程、约束及规则等)都可以有标识符。
当 SET QUOTED_IDENTIFIER 为 ON 时,
标识符可以由双引号或者”[ ]”分隔,而文字必须由单引号分隔。
当 SET QUOTED_IDENTIFIER 为 OFF 时,
标识符不可加引号,且必须符合所有 Transact-SQL (微软对SQL的扩展)标识符规则。
SET QUOTED_IDENTIFIER OFF
GO
CREATE TABLE "select" ("identity" INT IDENTITY NOT NULL, "order" INT NOT NULL);
GO
SET QUOTED_IDENTIFIER ON;
GO
CREATE TABLE "select" ("identity" INT IDENTITY NOT NULL, "order" INT NOT NULL);
GO
SELECT "identity","order"
FROM "select"
ORDER BY "order";
GO
DROP TABLE "SELECT";
GO
SET QUOTED_IDENTIFIER OFF;
GO
4 XACT_ABORT选项
指定当 Transact-SQL 语句出现运行时错误时,SQL Server 是否自动回滚到当前事务。
当 SET XACT_ABORT 为 ON 时,如果执行 Transact-SQL 语句产生运行时错误,则整个事务将终止并回滚。
当 SET XACT_ABORT 为 OFF 时,有时只回滚产生错误的 Transact-SQL 语句,而事务将继续进行处理。如果错误很严重,那么即使 SET XACT_ABORT 为 OFF,也可能回滚整个事务。OFF 是默认设置。
IF OBJECT_ID(N'demo',N'U') IS NOT NULL
DROP TABLE demo
create table demo(id int not null)
go
--set xact_abort on
begin tran
insert into demo values (1)
insert into demo values (null)
insert into demo values (2)
commit tran
go
--set xact_abort off
Select * from demo
sqlserver中常用的四个选项(NOCOUNT/ANSI_NULLS/QUOTED_IDENTIFIER/ XACT_ABORT)的更多相关文章
- iOS中常用的四种数据持久化方法简介
iOS中常用的四种数据持久化方法简介 iOS中的数据持久化方式,基本上有以下四种:属性列表.对象归档.SQLite3和Core Data 1.属性列表涉及到的主要类:NSUserDefaults,一般 ...
- 【温故知新】——原生js中常用的四种循环方式
一.引言 本文主要是利用一个例子,讲一下原生js中常用的四种循环方式的使用与区别: 实现效果: 在网页中弹出框输入0 网页输出“欢迎下次光临” 在网页中弹出框输入1 网页输出“查询中……” 在 ...
- Java中常用的四种线程池
在Java中使用线程池,可以用ThreadPoolExecutor的构造函数直接创建出线程池实例,如何使用参见之前的文章Java线程池构造参数详解.不过,在Executors类中,为我们提供了常用线程 ...
- sqlserver中常用的全局变量
变量 Transact-SQL语言中有两种形式的变量,一种是用户自己定义的局部变量,另外一种是系统提供的全局变量.局部变量 局部变量是一个能够拥有特定数据类型的对象,它的作用范围仅限制在程序内部.局部 ...
- iOS中常用的四种数据持久化技术
iOS中的数据持久化方式,基本上有以下四种:属性列表 对象归档 SQLite3和Core Data 1.属性列表涉及到的主要类:NSUserDefaults,一般 [NSUserDefaults st ...
- SQLserver中常用的函数及实例
聚合函数 as是可以起别名的,在select和from之间的是表示列名,可以不加单引号)(聚合函数中的count不仅能对数字进行操作还能对字符型进行操作,其余的只能对数字操作) 最小值 select ...
- sqlserver中数据的四种插入方式
1.insert into stuInfo(name,stuId) values('李洁','19291727')insert into stuInfo(name,stuId) values('李康' ...
- SQLSERVER中常用的系统视图
QLServer中提供了相当丰富的系统视图,能够从宏观到微观,从静态到动态反应数据库对象的存储结果.系统性能.系统等待事件等等.同时 也保留了与早期版本兼容性的视图,主要差别在于SQLServer20 ...
- sqlserver中常用的windows命令行的操作
1.删除指定目录下指定时间之前的文件: ), ), @sqltxtdel varchar(max) --指定的删除时间 set @deldate= '-8' --指定的删除路径 set @bakpat ...
随机推荐
- iOS大神班笔记04-View的加载
iOS开发中一个控制器创建View的过程(注意标注的地方): 1.通过storyboard加载 UIStoryboard的三个方法: + (UIStoryboard *)storyboardWithN ...
- Eclipse中一个Maven工程的目录结构 (MacOS)
1. 为什么写这篇文章 在之前的javaSE开发中,没有很关注Eclipse工程目录下的环境,总是看见一个src就点进去新建一个包再写一个class.以后的日子中也没有机会注意到一个工程到底是怎么组织 ...
- hihoCoder #1902 字符替换
解法 这题比赛时过的人很多,我却没思路,糊里糊涂写了个强联通分量,得了 80 分. 这题思路是这样的. 一个替换操作可以看做一个有向边,所以题目实际上给出了一个有向图 $G$,一个节点代表一个字母. ...
- 262144 (game)
262144 (game) 题目描述 Bessie likes downloading games to play on her cell phone, even though she does fi ...
- 【HDU 3336 Count the string】
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission( ...
- Windows7下的Run运行命令一览表
按住Windows键(就是左边Ctrl和Alt之间那个印windows徽标的键,简称Win键)+R,即可弹出运行对话框,在里面输入黑体字符即可运行相应程序.相比XP这次新增了不少新东西. 添加/删除程 ...
- windows批处理命令学习
初入批处理的学习,发现运行window的系统命令会减少很多的劳动,很方便. 参考例子: http://www.jb51.net/article/41322.htm
- YYH的王国(NOIP模拟赛Round 6)
题目描述 YYH拥有一个有n个城市的国家,编号为1~n.其中城市i到城市j的路径长度为i和j的最小公倍数.现在YYH想建一些高速公路,使得任意两座城市都能通过高速公路直接或间接到达.建造一条高速公路的 ...
- SQL Server中JOIN的用法
JOIN 分为:内连接(INNER JOIN).外连接(OUTER JOIN).其中,外连接分为:左外连接(LEFT OUTER JOIN).右外连接(RIGHT OUTER JOIN).全外连接(F ...
- centos7刚安装需要的一些基础优化
基本操作一:更改主机名 centos7有一个新的修改主机名的命令hostnamectl # hostnamectl set-hostname --static benjamin # vim /etc/ ...