[转]select top n 动态赋值

怎样实现 select top n 语句中 n 的动态赋值呢?
怎样实现 select   top   n   语句中 n 的动态赋值,求教各位了. 

要把这个n值传到存储过程中,再加入 
select top n 
语句中,而且不能用下面这种形式 来执行查询,要直接查询的 

DECLARE   @sqlStr   nvarchar(400) 
SET   @sqlStr   =   "   SELECT   TOP   "   +   CAST(@pageSize   AS     CHAR(10))     +   "   *   FROM   课程表 " 
EXEC   sp_executesql   @sqlStr 

这个办法我已经实现了,可公司现要求不用字符串,要直接查询,请问有没有别的办法实现了呢.我现在用下面的方法总是出错: 

SELECT     TOP   @pageSize   *   FROM   课程表   



------解决方案--------------------
declare @i int 
set @i =10 
set rowcount @i 
select * from 课程表 
set rowcount 0 

------解决方案--------------------

declare @pageSize int,@str varchar(100) 

set @pageSize=100 

set @str=cast(@pageSize as varchar(100)) 

exec ( 'SELECT TOP ' + @str + ' * FROM 课程表 ') 
------解决方案--------------------
不能吧, 
我想你公司的意思是不是要放在服务器中得到SQL语句再在数据服务器运行? 

楼上的大大们,LZ要的是:可公司现要求不用字符串,要直接查询 
------解决方案--------------------
LZ用2000还是2005,2005可以不用字符串直接实现 
------解决方案--------------------
sql 2005 可以直接实现 

select top(1+2) 

from syscolumns

转载于:https://www.cnblogs.com/skysowe/p/6639749.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值