CREATE PROCEDURE dbo.splitpage_sybase @qry varchar(16384),@ipage int,@num int
as
begin
declare @rcount int
declare @execsql varchar(16384)
declare @hz varchar(36)
select @rcount=@ipage*@num
set @hz=convert(varchar,convert(int,RAND() * 10000))
set @execsql = 'set rowcount '|| convert(varchar,@rcount)
set @qry= str_replace(@qry,'$','')
set @execsql = @execsql || stuff(@qry,charindex('SELECT ',upper(@qry)),6,' SELECT sybid=identity(12),')
set @execsql = stuff(@execsql,charindex(' FROM ',upper(@execsql)),6,' INTO #temptable'||@hz||' FROM ')
set @execsql = @execsql || ' SELECT * FROM #temptable'||@hz||' WHERE sybid >' || convert(varchar,(@ipage-1)*@num)
set @execsql = @execsql || ' AND sybid<=' || convert(varchar,@ipage*@num) + ' set rowcount 0'
execute(@execsql)
end