CREATE Procedure selectCurrentPage @Page int,@TypeID int AS
exec(' SELECT top 10 * FROM FileDetail
where FileID not in (select top '+cast((@Page-1)*10 as varchar) +' FileID from FileDetail) and TypeID=@TypeID') return
exec(' SELECT top 10 * FROM FileDetail
where FileID not in (select top '+cast((@Page-1)*10 as varchar) +' FileID from FileDetail) and TypeID=@TypeID') return
分析器报告说cast附近有语法错误。
该怎么办?
cast((@Page-1)*10 as varchar)这句有误,应改为
cast((@Page-1)*10 as varchar(6))
AS
declare @sql varchar(200)
set @sql = '
SELECT top 10 * FROM FileDetail
where FileID not in (select top ' + cast((@Page-1)*10 as char) + ' FileID from FileDetail) and TypeID= ' + cast(@TypeID as char) exec(@sql)
return
exec(' SELECT top 10 * FROM FileDetail
where FileID not in (select top '+cast((@Page-1)*10 as varchar) +' FileID from FileDetail) and TypeID='+cast(@TypeID as varchar) ) return
终于搞定了,太感谢了。
To CrazyFor(太阳下山明朝依旧爬上来)
你的还是说cast附近有语法错误,不过还是十分感谢你的大力相助