如何取得ROWCOUNT值

simonxt 2012-04-27 11:59:33
SET ROWCOUNT 100 -- 此处100这个具体数字是未知的
-------------------------------------------

select top 10 * from mytable
select @@ROWCOUNT -- 这个等于10,10不是我要的
declare @a int;
--- 这里我要取到第一行的100这个数怎么得到? 注:第一行100这个数字我不设置变量赋值,所以不要让我在第一行设置变量,最后再取这个变量值
set @a = ();
...全文
191 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
simonxt 2012-04-27
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 的回复:]
没找到直接获取的方法,试试以下变通的方法能否满足要求

SQL code
SET ROWCOUNT 100

declare @a int;
select 1 col from sys.objects,sys.columns
set @a= @@rowcount
[/Quote]

我也想过类似的办法,只是我想应该有什么直接的办法取得吧。
孤独加百列 2012-04-27
  • 打赏
  • 举报
回复
那就不要top了啊,直接select * 就可以了,然后再SET @A = @@ROWCOUNT
百年树人 2012-04-27
  • 打赏
  • 举报
回复
没找到直接获取的方法,试试以下变通的方法能否满足要求
SET ROWCOUNT 100

declare @a int;
select 1 col from sys.objects,sys.columns
set @a= @@rowcount
叶子 2012-04-27
  • 打赏
  • 举报
回复
楼主的意思是想得到SET ROWCOUNT 后面的值,但是貌似不用变量的话是没有办法得到的。
Andy-W 2012-04-27
  • 打赏
  • 举报
回复
是否这样:

SQL Server 2008:
declare @top int=100;
Select Top(@top) * From mytable
simonxt 2012-04-27
  • 打赏
  • 举报
回复
SET ROWCOUNT 100 -- 设置后续执行的最大行数为100,写200的话就限制200
select * from mytable -- 因为上一句,这里最多只显示100行
select -- 我要在SET ROWCOUNT 100 之后,在这里取得第一句的100这个数值

-- 这样解释清楚了吗?
  • 打赏
  • 举报
回复
没明白你什么意思?第一行的100这个数字???

22,210

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧