select Top n * from 中的n必须是常量么?

coldice 2003-09-15 11:02:16
CREATE PROCEDURE [dbo].[TopRecord]
@pagesize int = 20
AS


select top @pagesize * from fileData

提示总说@pagesize附近有语法错误,如果改成常量比如top 20

则无错误。。

怎么解决?现在我必须的需要将返回得记录数由参数来控制得
...全文
66 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
dotAge 2003-09-15
  • 打赏
  • 举报
回复
SET ROWCOUNT @pagesize
select * from fileData
SET ROWCOUNT 0

zarge 2003-09-15
  • 打赏
  • 举报
回复
CREATE PROCEDURE [dbo].[TopRecord]
@pagesize int = 20
AS

DECLARE @sql varchar(8000)
SET @sql = 'select top ' + CAST(@pagesize AS varchar) + '* from fileData'
EXEC(@sql)

22,210

社区成员

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

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