zoukankan      html  css  js  c++  java
  • .net C# 调用 oracle 存储过程 变量使用 分页

    1 oracle 存储过程创建

    create or replace procedure p_procname(i_id  in integer,
                                                       i_keyword  in varchar2, --这里参数不需要写字符长度
                                                       i_pagenum  in integer, -- in 代表的是参数是 input 方式, out 代表参数 为output .
                                                       i_pagesize in integer,
                                                       o_ecur     out sys_refcursor) as --这里是重点,oracle是使用游标来存储查询结果的
      v_begin integer; --这里变量需要写字符长度
      v_end   integer; --一定要带分号;
    
    begin
    --oracle 赋值常用方法有两种, 一种 变更名:='myname'; 一种是使用 into 
      select ((i_pagenum - 1) * i_pagesize + 1), (i_pagenum * i_pagesize)
        into v_begin, v_end
        from dual; -- dual 是虚拟表,oracle 不可以直接使用 select ,必须和form 一起使用。
    
      open o_ecur for --打开游标,接收查询结果集
      
        select id, t
          from (select id,
                       row_number() over(order by credate desc) n, --开窗函数,和SQL SERVER的用法一样的。
                       count(1) over() t --开窗函数,和SQL SERVER的用法一样的。
                  from tablename
                 where id = i_id
                   and (name like '%' || i_keyword || '%') --oracle 拼接字段串使用|| 
                ) t
         where n between v_begin and v_end;
    
    end p_procname;
                
  • 相关阅读:
    【代码笔记】JTable 、TableModel的使用3
    学习JSP(二)
    Tomcat文件配置
    学习JSP(一)
    配置elipse
    配置Jdk
    定义新运算练习题
    学习JAVA所需的东西
    学习秘籍
    总有那么一个人
  • 原文地址:https://www.cnblogs.com/BinBinGo/p/11605549.html
Copyright © 2011-2022 走看看