zoukankan      html  css  js  c++  java
  • Sybase数据库的分页功能

    项目中需要用到Sybase数据库的分页功能,想尽各种办法都没有成功,最后用如下的存储过程成功实现功能,记录备忘。

     
    CREATE PROCEDURE jsp_query_page @sql varchar(2000),@start int, @pageSize int as 
     begin 
         declare @ipage int
         declare @rcount int 
         declare @execsql varchar(2000)
         declare @sql1 varchar(2000) 
         declare @t int,@p int,@n int,@l int
         begin
             set @sql1=@sql
             set @n=0
             set @l=0
             set @t=charindex('select ',lower(@sql))
             set @sql=substring(@sql,@t+7,char_length(@sql)-7)
             set @n=@n+1
             set @l=@l+7
             while(@n!=0)
             begin
                 set @t=charindex('select ',lower(@sql))
                 set @p=charindex('from ',lower(@sql))
                 if ((@t<@p) and (@t!=0))
                     begin
                         set @sql=substring(@sql,@t+7,char_length(@sql)-7)
                         set @n=@n+1
                         set @l=@l+6+@t
                     end
                 else
                     begin
                         set @sql=substring(@sql,@p+5,char_length(@sql)-5)
                         set @n=@n-1
                         set @l=@l+4+@p
                     end
             end
             set @execsql = substring(@sql1,1,@l-5)+' ,sybid=identity(12) into #temp '+substring(@sql1,@l-4,char_length(@sql1)-@l+5)
             select @rcount=@start + @pageSize
             set rowcount @rcount 
             set @execsql = @execsql || ' select * from #temp where sybid>' || convert(varchar,@start) || ' and sybid <= ' || convert(varchar,@rcount) 
             print @execsql
             execute (@execsql) 
             set rowcount 0 
         end
     end
  • 相关阅读:
    工业以太网的现状与发展
    软件开发的7大原则
    white-space
    vue使用better-scroll做轮播图(1.X版本 比较简单)
    windows 查看端口占用
    使用通知notication pendingIntent 传递参数
    fragment 创建optionsmenu
    android viewmodel 带参数
    LifecycleObserver 生命周期检测
    过河问题
  • 原文地址:https://www.cnblogs.com/libaoting/p/4084663.html
Copyright © 2011-2022 走看看