以下是个分页的存储过程.create  PROC UP_Pager
@sql nvarchar(4000),  --要执行的sql语句 
@pagesize int=10,  --每页的大小   
@currentpage int=1,    --要显示的页码
@recordcount int=0   out,  --记录数   
@pagecount int=0   out   --总页数   
 AS SET NOCOUNT ON
DECLARE @p1 int 
    
--EXEC sp_cursoropen @p1 output, @sql, @scrollopt=1, @ccopt=1, @rowcount=@pagecount output  
EXEC sp_cursoropen @p1 output, @S, @scrollopt=1, @ccopt=1, @rowcount=@pagecount output    

--计算总页数   
IF ISNULL(@pagesize, 0) < 1 SET @pagesize = 10   
--SET   @PageCount=(@PageCount+@pagesize-1)/@pagesize   
    
--IF   ISNULL(@currentpage,0)<1   OR   ISNULL(@currentpage,0)>@pagesize   
--  SET   @currentpage=1 
--ELSE   
-- SET   @currentpage=(@currentpage-1)*@pagesize+1    

SELECT   @recordcount=@pagecount,@pagecount=ceiling(1.0*@pagecount/@pagesize)       ,@currentpage=(@currentpage-1)*@pagesize+1       
SELECT   @recordcount   recordcount   ,@pagecount     pagecount 
EXEC   sp_cursorfetch   @p1,16,@currentpage,@pagesize     
EXEC   sp_cursorclose   @p1
GO当把传入的@sql变量的  字符..超过4000个..应该怎么办?像这样: @sql = @sql1 + @sql2 + @sql3exec UP_Pager @sql,99999,1执行后有错误..