hushuan

请问SET ROWCOUNT是什么?

作者
主题    发布新主题    回复主题
五月书店
一般会员

注册日期: 2005 Feb
来自:
技术贴数:42
论坛积分:157
论坛排名:10084
论坛徽章:0

           
           

请问SET ROWCOUNT是什么?

我看了帮助但是看不懂它具体的使用是怎么样。会有什么效果。请给举个例子好吗?

 

 

向版主反映这个帖子  查看五月书店 的IP地址

楼主 旧帖 05-08-17 22:12
[ ]    给予该贴好评   编辑/删除 引用/回复
ruili_zeng
深山居士

注册日期: 2004 Apr
来自:
技术贴数:474
论坛积分:4654
论坛排名:344
论坛徽章:3

会员2006贡献徽章 授权会员 数据库板块每日发贴之星      
           

SET ROWCOUNT 100 是設置你查詢出最大記錄數是100。
當你的table記錄>100條時隻會show top 100 record
以下是關於 SET ROWCOUNT 解說

語法
SET DATEFIRST { number | @number_var }

引數
number | @number_var

是指停止給定查詢前處理的資料列數目 (整數)。

備註
建議將目前使用 SET ORWCOUNT 的 DELETE、INSERT 及 UPDATE 陳述式重新改寫為使用 TOP 語法如需詳細資訊
在針對遠端資料表及本端與遠端資料分割檢視的 INSERT、UPDATE 和 DELETE 陳述式中,SET ROWCOUNT 選項的設定會被忽略。

若要關閉此選項 (意即傳回所有資料列),請指定 SET ROWCOUNT 0。



附註 設定 SET ROWCOUNT 選項將造成大部份 Transact-SQL 陳述式受到指定資料列數目影響時即停止處理。其中包括觸發及資料修改陳述式,例如 INSERT、UPDATE 及 DELETE。ROWCOUNT 選項不會影響動態資料指標,但是會限制索引鍵集 (Keyset) 及不敏感資料指標的資料列集。使用此選項時應該特別小心,尤其是與 SELECT 陳述式一起使用時。


當資料列計數設定為較小的數字時,SET ROWCOUNT 將覆寫 SELECT 陳述式的 TOP 關鍵字。

SET ROWCOUNT 的設定是在執行或執行時期設定,而不是在剖析時期設定。


__________________
我的Blog是http://blog.itpub.net/ruili_zeng

 

向版主反映这个帖子  查看ruili_zeng 的IP地址

2楼 旧帖 05-08-18 11:22
[ ]    给予该贴好评   编辑/删除 引用/回复
xiamingkang
资深会员

注册日期: 2005 May
来自:
技术贴数:673
论坛积分:2254
论坛排名:739
论坛徽章:2

会员2006贡献徽章 授权会员        
           

自己先試一試吧,
set rowcount off
select * from [table]

set rowcount on
select * from [table]

 

 

向版主反映这个帖子  查看xiamingkang 的IP地址

3楼 旧帖 05-08-18 13:51
[ ]    给予该贴好评   编辑/删除 引用/回复
zonelive
老会员

注册日期: 2004 May
来自:
技术贴数:401
论坛积分:1305
论坛排名:1351
论坛徽章:0

           
           

SET ROWCOUNT 10
select * from sysobjects
相当与
select top 10 * from sysobjects

 

 

向版主反映这个帖子  查看zonelive 的IP地址

4楼 旧帖 05-08-18 16:33
[ ]    给予该贴好评   编辑/删除 引用/回复
zonelive
老会员

注册日期: 2004 May
来自:
技术贴数:401
论坛积分:1305
论坛排名:1351
论坛徽章:0

           
           

SET ROWCOUNT 就相当于top

 

 

向版主反映这个帖子  查看zonelive 的IP地址

5楼 旧帖 05-08-18 16:33
[ ]    给予该贴好评   编辑/删除 引用/回复
guomulin
无名

注册日期: 2003 Apr
来自:
技术贴数:469
论坛积分:2023
论坛排名:842
论坛徽章:1

会员2006贡献徽章          
           

SET ROWCOUNT 与 TOP 的不同之处在于:

SET ROWCOUNT 限制适用对 ORDER BY 取值后在结果集中生成行。如果指定了 ORDER BY,SELECT 语句将在从某个已根据指定的 ORDER BY 分类进行了排序的值集中选择 n 行后终止。


TOP 子句适用于指定了该子句的单个 SELECT 语句。在执行另一个 SET ROWCOUNT 语句之前,SET ROWCOUNT 会一直有效,例如执行 SET ROWCOUNT 0 将会关闭此选项。


__________________
学无止境。

 

向版主反映这个帖子  查看guomulin 的IP地址

6楼 旧帖 05-08-18 17:35
[ ]    给予该贴好评   编辑/删除 引用/回复
xiamingkang
资深会员

注册日期: 2005 May
来自:
技术贴数:673
论坛积分:2254
论坛排名:739
论坛徽章:2

会员2006贡献徽章 授权会员        
           

Sorry, 理解錯誤.
set rowcount n | @count , 就是限制記錄數, 如果設置 n = 10, 在查詢時, 相當於取前10條, 修改時只改前10條, 刪除時也是 前10條.

 

 

向版主反映这个帖子  查看xiamingkang 的IP地址

7楼 旧帖 05-08-20 09:15
[ ]    给予该贴好评   编辑/删除 引用/回复
yuzhenkui
一般会员

注册日期: 2005 Aug
来自:
技术贴数:61
论坛积分:208
论坛排名:8075
论坛徽章:0

           
           

select top [num] from [table]出来的数据如果要删除还要再写delete语句吧?
那set rowcount后呢?

 

 

向版主反映这个帖子  查看yuzhenkui 的IP地址

8楼 旧帖 05-08-21 23:49
[ ]    给予该贴好评   编辑/删除 引用/回复
所有时间均为 . 现在时间是 04:02.    发布新主题    回复主题
按发布时间阅读主题 2001 2002 2003 2004 2005 2006 加入资料库   上一主题   下一主题

分类:

技术点:

相关文章:

  • 2022-01-01
  • 2021-09-09
  • 2021-12-09
  • 2021-05-17
  • 2021-05-23
  • 2021-09-19
  • 2021-09-10
猜你喜欢
  • 2021-09-20
  • 2021-12-26
  • 2021-10-17
  • 2021-12-09
  • 2021-12-09
  • 2021-08-16
  • 2021-04-29
相关资源
相似解决方案