查询语句影响的行数

在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
复制代码

 

posted @   悦光阴  阅读(1815)  评论(0编辑  收藏  举报
编辑推荐:
· Linux glibc自带哈希表的用例及性能测试
· 深入理解 Mybatis 分库分表执行原理
· 如何打造一个高并发系统?
· .NET Core GC压缩(compact_phase)底层原理浅谈
· 现代计算机视觉入门之:什么是图片特征编码
阅读排行:
· 手把手教你在本地部署DeepSeek R1,搭建web-ui ,建议收藏!
· Spring AI + Ollama 实现 deepseek-r1 的API服务和调用
· 数据库服务器 SQL Server 版本升级公告
· 程序员常用高效实用工具推荐,办公效率提升利器!
· C#/.NET/.NET Core技术前沿周刊 | 第 23 期(2025年1.20-1.26)
点击右上角即可分享
微信分享提示