select top @pages 的问题

stuhome 2004-03-27 09:48:20
想实现如下样式的存储过程,但显然现在是行不通的
CREATE PROCEDURE GetGuestBook
@pages int
AS
select top @pages * from guest_book
GO
难道select top 后面就只能跟常数不能跟变量,有没有其他解决方案啊
谢了!!!
...全文
46 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
progress99 2004-03-27
  • 打赏
  • 举报
回复
要在存儲過程中使用top隻有這種方式了。
stuhome 2004-03-27
  • 打赏
  • 举报
回复
只有这样吗?
这样岂不是丧失了存储过程编译执行的优点?
vileboy 2004-03-27
  • 打赏
  • 举报
回复
再更正
alter proc GetGuestBook
@pages int
as

exec('select top '+@pages+' * from guest_book')

go
vileboy 2004-03-27
  • 打赏
  • 举报
回复
上面错了:
alter proc GetGuestBook
@pages int
as

exec('select top '+@count +' * from tbl_test2')

go
vileboy 2004-03-27
  • 打赏
  • 举报
回复
CREATE PROCEDURE GetGuestBook
@pages int
AS
EXEC('select top '+CAST(@pages AS VARCHAR(20))+'* from guest_book')
GO

22,207

社区成员

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

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