查询语句影响的行数

简介:

在SQL Server中,使用全局变量@@RowCount 和函数RowCount_Big()返回上一条语句影响的行数。如果行数大于 20 亿,则需要使用ROWCOUNT_BIG()。

1,使用@@RowCount 和 RowCount_Big() 能够获取查询和更新命令影响的行数:

  1. 获取select子句返回的结果集的行数
  2. 获取数据更新命令(insert,update 或 delete)影响的行数

2,设置查询语句返回的数据行数

set RowCount @Num

Set ROWCOUNT选项在语句执行时设置,只会影响当前 Session,一个Session将使用最近一次设置的ROWCOUNT,直到Session结束或修改了ROWCOUNT。

取消ROWCOUNT限制

SET ROWCOUNT 0 

3,使用Top子句设置数据修改语句(delete,update,insert)影响的数据行数

复制代码
delete top (10)
from dbo.table_name

update top (10) dbo.table_name
set col_name='xxx'

insert top(10) into dbo.table_name
select .....
复制代码

4,示例

使用 declare 子句定义一个变量不会影响上一条语句影响的数据行数,可以定义一个int 变量,存储 @@RowCount 和 RowCount_Big() 的返回值。

复制代码
SET ROWCOUNT 0
-- return 10 records
select top 10 * 
from sys.objects

--return value is 10
select @@ROWCOUNT,ROWCOUNT_BIG()

--return value is 1
select ROWCOUNT_BIG()

--declare 子句不会影响返回的数据行数
declare @n int
select ROWCOUNT_BIG(),@@rowcount

--set 和 select 子句影响数据行数是1
set @n=10
select ROWCOUNT_BIG(),@@rowcount
复制代码

 

作者悦光阴
本文版权归作者和博客园所有,欢迎转载,但未经作者同意,必须保留此段声明,且在文章页面醒目位置显示原文连接,否则保留追究法律责任的权利。
分类: SQL Server




本文转自悦光阴博客园博客,原文链接:http://www.cnblogs.com/ljhdo/p/4634011.html,如需转载请自行联系原作者
目录
相关文章
|
SQL 存储 关系型数据库
为什么SQL语句命中索引比不命中索引要快?
有位粉丝面试高开的时候被问到,为什么SQL语句命中索引比不命中索引要快?虽然自己也知道答案,但被问到的瞬间,就不知道如何组织语言了。今天,我给大家深度分析一下。
134 0
|
SQL 存储 自然语言处理
SQL语句命中索引,但还是执行很慢
MySQL的慢查询日志是MySQL提供的一种日志记录,用来记录在MySQL中响应时间超过阀值的语句,具体指运行时间超过long_query_time值(默认值10s)的SQL,则会被记录到慢查询日志中。
362 0
|
关系型数据库 MySQL 索引
确保你的查询语句正确地使用了索引
确保你的查询语句正确地使用了索引
67 1
|
SQL
**SQL某一表中重复某一字段重复记录查询与处理
sql某一表中重复某一字段重复记录查询与处理   1.查询出重复记录  select 重复记录字段 form  数据表 group by houseno having count(重复记录字段)>1 2.
973 0
|
SQL 关系型数据库 MySQL
这个大表走索引字段查询的 SQL 怎么就成全扫描了
这个大表走索引字段查询的 SQL 怎么就成全扫描了
这个大表走索引字段查询的 SQL 怎么就成全扫描了
|
SQL 关系型数据库 MySQL
数据库面试题【十八、优化关联查询&优化子查询&优化LIMIT分页&优化UNION查询&优化WHERE子句】
数据库面试题【十八、优化关联查询&优化子查询&优化LIMIT分页&优化UNION查询&优化WHERE子句】
175 0
|
SQL 算法 索引
SQL Server 执行计划利用统计信息对数据行的预估原理二(为什么复合索引列顺序会影响到执行计划对数据行的预估)
原文:SQL Server 执行计划利用统计信息对数据行的预估原理二(为什么复合索引列顺序会影响到执行计划对数据行的预估)   本文出处:http://www.cnblogs.com/wy123/p/6008477.html    关于统计信息对数据行数做预估,之前写过对非相关列(单独或者单独的索引列)进行预估时候的算法,参考这里。
1068 0
|
SQL Oracle 关系型数据库
SQL为什么预估执行计划与真实执行计划会有差异?
SQL为什么预估执行计划与真实执行计划会有差异?http://www.bieryun.com/3149.html 一 问题概要 对同一个 SQL 语句的 ExplainPlan 里显示的预估执行计划与通过 V$SQL_PLAN 视图获取的 Runtime Plan 真实执行计划,偶尔会发现两边有不一致的情况,为什么呢?为什么预估执行计划会不准确?怎样才能避免这种情况的发生? 二 问题解答 这是执行计划相关中会被经常问道的问题,也是困扰自己很长时间的问题。
1508 0
多表 JOIN 查询统计要记得去重
多表 JOIN 查询统计要记得去重 SELECT p.id projectId, ccr.commit_time changeDate, sum(ccr.
1146 0