一个简单的分页存储过程问题
下面代码是自己写的,请勿见笑
CREATE PROCEDURE show_swf
@current bigint,
@count int output
AS
declare @minid bigint
declare @sqls nvarchar(1000)
set @sqls='select @minid=min(id) from swf where id in(select top '+@current*20+' id from swf order by id desc)'
exec sp_executesql @sqls,N'@minid bigint output' --我想从这里返回最小ID,但老报“将数据类型 varchar 转换为 bigint 时出错”,为什么?
select top 20 [id],[name],intro,image,path from swf where id not in (select id from swf where id>=@minid ) order by id desc
select @count=count(*) from swf
GO