zoukankan      html  css  js  c++  java
  • 我的 Oracle 分页存储过程

    --定义一个包,在包中定义类型test_cursor,是个游标
    create or replace package testpackage as
    type test_cursor is ref cursor;
    end testpackage;
    
    
    
    --分页过程
    --输入表名,每页显示记录数,当前页
    --输出总记录数,总页数,和返回结果
    create or replace procedure fenye(
    tableName in varchar2, --表名
    pageTotal in number,   --每页条数
    pageNow in number,     --显示第几页
    rowTotal out number,   --总共条数
    pageCount out number,  --总共页数
    info out testpackage.test_cursor --详细信息
    ) is
    v_begin number :=(pageNow-1)*pageTotal;
    v_end number :=pageNow*pageTotal;
    v_sql varchar2(2000);
    begin 
    v_sql :='SELECT * FROM '||tableName||' WHERE rowid in
    (
    SELECT rid FROM 
    (
    SELECT rownum rn,rid from 
    (
    SELECT rowid rid FROM '||tableName||'
    )
    WHERE rownum<='||v_end||'
    )
    WHERE rn>='||v_begin||'
    );';
    open info for v_sql;
    v_sql:='select count(*) into FROM '||tableName;
    --执行sql语句
    execute immediate v_sql into rowTotal;
    if mod(rowTotal,pageTotal)=0
    then pageCount:=rowTotal/pageTotal;
    else
    pageCount:=rowTotal/pageTotal+1;
    end if;
    close test_cursor; --关闭游标
    end;
  • 相关阅读:
    什么是内卷?
    iphone与PC端如何传BUG截图
    java应用服务占用cpu过高,如何优化
    性能测试常见问题FAQ
    性能测试工程师能力进阶三部曲
    jmeter分布式压测试部署
    了解token及分类
    常见端口号及其服务
    2714
    python
  • 原文地址:https://www.cnblogs.com/zhiqixue/p/2626675.html
Copyright © 2011-2022 走看看