SET ROWCOUNT
使 Microsoft® SQL Server™ 在返回指定的行数之后停止处理查询。

语法
SET ROWCOUNT { number | @number_var }

参数
number | @number_var

是在停止给定查询之前要处理的行数(整数)。

注释
建议将当前使用 SET ROWCOUNT 的 DELETE、INSERT 和 UPDATE 语句重新编写为使用 TOP 语法。有关更多信息,请参见 DELETE、INSERT 或 UPDATE。

对于在远程表和本地及远程分区视图上执行的 INSERT、UPDATE 和 DELETE 语句,忽略 SET ROWCOUNT 选项设置。

若要关闭该选项(以便返回所有的行),请将 SET ROWCOUNT 指定为 0。

说明 设置 SET ROWCOUNT 选项将使大多数 Transact-SQL 语句在已受指定数目的行影响后停止处理。这包括触发器和 INSERT、UPDATE 及 DELETE 等数据修改语句。ROWCOUNT 选项对动态游标无效,但限制键集的行集和不感知游标。使用该选项时应谨慎,它主要与 SELECT 语句一起使用。

如果行数的值较小,则 SET ROWCOUNT 替代 SELECT 语句 TOP 关键字。

SET ROWCOUNT 的设置是在执行或运行时设置,而不是在分析时设置。

权限
SET ROWCOUNT 权限默认授予所有用户。

示例
SET ROWCOUNT 在指定的行数后停止处理。在下例中,注意有 x 行满足预付款少于或等于 $5,000 的条件;但是,从更新所返回的行数中可以看出并非所有的行都得到处理。ROWCOUNT 影响所有的 Transact-SQL 语句。

USE pubs
GO
SELECT count(*) AS Cnt
FROM titles
WHERE advance >= 5000
GO

下面是结果集:

Cnt
-----------
11

(1 row(s) affected)

现在,将 ROWCOUNT 设置为 4,并更新预付款等于或大于 $5,000 的所有行。

-- SET ROWCOUNT to 4.
SET ROWCOUNT 4
GO
UPDATE titles
SET advance = 5000
WHERE advance >= 5000
Set Rowcount 分页(转)
2007-01-11 10:11 A.M.

SQL Server中有一个Set Rowcount的的设置,它的意思是使命令的处理在响应指定的行数之后停止处理命令,利用这个特点,我们可以借用它来在一个千万行级数据表中实现高性能分页查询。先来说说实现方式:
1、我们来假定Table中有一个已经建立了索引的主键字段ID(整数型),我们将按照这个字段来取数据进行分页。
2、页的大小我们放在@PageSize中
3、当前页号我们放在@CurrentPage中
4、如何让记录指针快速滚动到我们要取的数据开头的那一行呢,这是关键所在!有了Set RowCount,我们就很容易实现了。
5、如果我们成功地滚动记录指针到我们要取的数据的开头的那一行,然后我们把那一行的记录的ID字段的值记录下来,那么,利用Top和条件,我们就很容易的得到指定页的数据了。当然,有了Set RowCount,我们难道还用Top么?
看看Set Rowcount怎么来帮我们的忙吧:
Declare @ID int
Declare @MoveRecords int
Declare @CurrentPage int
Declare @PageSize int
set @PageSize=5
set @CurrentPage=1
--@CurrentPage和@PageSize是传入参数
Set @MoveRecords=@CurrentPage * @PageSize+1
--下面两行实现快速滚动到我们要取的数据的行,并把ID记录下来
Set Rowcount @MoveRecords
Select @ID=userid from usersinfo Order by userid
Set Rowcount @PageSize
--最恨为了减少麻烦使用*了,但是在这里为了说明方便,暂时用一下
Select * From usersinfo Where userid>=@ID Order By userid

转载于:https://www.cnblogs.com/qxoffice2008/p/4220023.html

SET ROWCOUNT相关推荐

  1. oracle中的sql%rowcount,sql%found、sql%notfound、sql%rowcount和sql%isopen

    Oracle 存储过程 删除表记录时删除不存在的记录也是显示删除成功 create or replace procedure delDept(p_deptno in dept.deptno%type) ...

  2. set RowCount 与 top n

    有时,采用top n中间n它是一个变量,这将需要使用()去完成: declare @count1 intset @count1 = 8select top <strong>(@count1 ...

  3. SQL点滴31—SQL语句中@@IDENTITY和@@ROWCOUNT区别

    原文:SQL点滴31-SQL语句中@@IDENTITY和@@ROWCOUNT区别 SQL语句中@@IDENTITY和@@ROWCOUNT区别 在一条 INSERT.SELECT INTO 或大容量复制 ...

  4. oracle中的sql%rowcount

    sql%rowcount中的sql是oracle的内部游标,rowcount的意思是之前的dml sql语句影响的多少行数据. 如果是delete操作rowcount就是delete的数据,如果是in ...

  5. Paging of Large Resultsets in ASP.NET中介绍的SET ROWCOUNT方式存储过程的问题

    Paging of Large Resultsets in ASP.NET中对几种常见的分页方式做了比较感觉写得不错,前段时间因为要做asp.net分页,就想到了这篇文章,但经过测试后发现不少问题,虽 ...

  6. @@ROWCOUNT 含义

    返回受上一语句影响的行数. 如果行数大于 20 亿,请使用 ROWCOUNT_BIG. Transact-SQL 语句可以通过下列方式设置 @@ROWCOUNT 的值: 将 @@ROWCOUNT 设置 ...

  7. python语言中,对于cursor的查询明明有结果,为什么print cursor.rowcount结果为-1?

    从网上搜了很多资料,没有对口的,抓狂.没办法自己研究了一下,相信写出来能够帮到很多人. 下边是我写的一段代码,为了方便大家看我加了行号.从下边代码中第4行可以看到,rowcount结果为-1,但是从第 ...

  8. 通过设置rowcount,从Sybase数据库中分页取数

    http://bijian1013.iteye.com/blog/1830421 虽然听说Sybase12.5.3版本以上的已经支持top查询了,但现在还是有很多系统用的是比较老的Sybase数据库, ...

  9. php中rowcount 意思,PHP PDOStatement::rowCount讲解

    PDOStatement::rowCount PDOStatement::rowCount - 返回受上一个 SQL 语句影响的行数(PHP 5 >= 5.1.0, PECL pdo >= ...

最新文章

  1. (chap4 IP协议) 多播和子网掩码
  2. 深入理解JavaScript系列(3):全面解析Module模式
  3. Android如何实现简单音乐播放器的代码
  4. 【学习笔记】springboot中的全局异常处理 和@ControllerAdvice的使用
  5. 计算机图形学基础教程论文,计算机图形学小论文
  6. day3—python——字符串常用方法
  7. java构成对象的三要素_20155237 《JAVA程序设计》实验二(JAVA面向对象程序设计)实验报告...
  8. 古文(诗词文)—— 结构模式与复用
  9. ADO.NET 3.5 同SQL 2008的新的存储过程保存方式
  10. Ubuntu16.04安装ros kinetic版本
  11. 处理分页 上一页 下一页首页 末页问题
  12. 初识EMC元器件(五)——电容参数解读及选型应用
  13. base64上传为表单提交给后台的方法
  14. 基于Processing和Leap Motion的绘画系统
  15. 典型集与Shannon信源编码理论
  16. html语言计算圆周长和面积,c# 根据半径计算圆的面积和周长
  17. 前端实现浏览器下载文件
  18. 加减法html5小游戏,加减法小游戏.doc
  19. 深度学习实验——蒸馏模型实战(一)
  20. 24 基于单片机空气PM2.5浓度粉尘颗粒物检测系统设计

热门文章

  1. 英特尔高管晒照片不小心泄密,正在研发的雷电5就这样暴露了
  2. 国产期刊崛起!上海大学、郑州大学主办期刊IF超15,2021版SCI期刊影响因子出炉...
  3. 天文学家搞医术,Science也挡不住
  4. 北大率先官宣朱松纯加盟,现身燕园,任职AI研究院院长,“AI发展离不开哲学思考”...
  5. Nature年度十大科学人物公布:瑞典气候女孩、北大邓宏魁、谷歌量子计算领导者上榜...
  6. 全球十大AI训练芯片大盘点:华为昇腾910是中国唯一入选
  7. 操作系统课程设计 内核模块
  8. DNS部署(四)之lvs+keepalived+bind架构高可用负载均衡DNS系统
  9. Webpack-IE低版本兼容指南
  10. .NET Core程序中使用User Secrets存储敏感数据