首页 > 开发 > 综合 > 正文

MS SQL中select top 后跟变量

2024-07-21 02:50:18
字体:
来源:转载
供稿:网友
MS SQL中select top 后跟变量

SQL2005 中selecdt top后是可以直接跟变量的比如:(但要注意的是变量要用括号括起来)

select top (@i )* from table

在SQL2000中,Select Top后是不能直接跟变量的:

要解决2000中top后跟变量的方法有两种: 第一种: declare @i int,@sql varchar(100) set @i = 100 set @sql = 'select top ' + cast(@i as varchar) + ' * from table' exec(@sql)

通常我们可以使用这种方法来操作,但有时却不行,比如循环读取记录时(以下这么写会出错)

declare @i int,@sql varchar(100)    set @i = 100    set @sql = 'select top ' + cast(@i as varchar) + ' * from table'    DECLARE rs CURSOR   LOCAL SCROLL FOR    --设置数据源    exec(@sql)      OPEN rs

第二种:使用set rowcount = 100来实现

1  set rowcount 100      --设置读取的条数2     DECLARE rs CURSOR   LOCAL SCROLL FOR3     --设置数据源4     select * from table5     OPEN rs6 7     set rowcount 0        --恢复读取的条数

转载于:http://hi.baidu.com/QQdancer_xxl/item/55c0f50db7e075c9905718d3


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表