首页 新闻 会员 周边

sql存储过程top参数

0
悬赏园豆:20 [已关闭问题]
我想向sql2005 中top传递一个参数,不过总是出现错误,我在网上搜索了一下,大致有两种解决方法一种是<BR>create procedure sel_getuser <BR>@top int <BR>as <BR>declare @sql varchar(8000) <BR>set @sql=select top +cast(@top as varchar(8))+ * from users <BR>exec (@sql) <BR>go<BR><BR>不过我觉得exec的效率比较低。<BR>另一种方法是:<BR>create procedure sel_getuser <BR>@top int <BR>as <BR>set rowcount @top <BR>select * from users <BR>set rowcount 0 <BR>go <BR>有没有比这两种方法更好的?<BR>
万仓网的主页 万仓网 | 初学一级 | 园豆:180
提问于:2008-01-06 15:47
< >
分享
其他回答(3)
0
SELECT TOP(@top) * FROM ... ?
Hunts.C | 园豆:266 (菜鸟二级) | 2008-01-06 18:17
0
动态SQL也可以啊 SELECT TOP(str(@top)) * FROM table 或用再个TOP完成分页,可以到BAIDU一下
ph580 | 园豆:245 (菜鸟二级) | 2008-01-07 10:32
0
create procedure sel_getuser @top int as select top(@top) * from Table1
暗香浮动 | 园豆:361 (菜鸟二级) | 2008-01-07 10:39
0
这两个其实效率是一样的,好的SQL语句还是少用TOP比较好
Justin Shen | 园豆:410 (菜鸟二级) | 2008-02-04 22:40
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册