zoukankan      html  css  js  c++  java
  • oracle存储过程代码实例一

    1、用来插入大量测试数据的存储过程
    CREATE OR REPLACE PROCEDURE INSERTAMOUNTTEST
    (
    ST_NUM        IN     NUMBER,
    ED_NUM        IN     NUMBER
    )
    IS
    BEGIN
    declare
           i   number;
    begin
    FOR i IN ST_NUM..ED_NUM LOOP
    INSERT INTO tb values(i,i,'3','3','3',100,'0');
    END LOOP;
    end;
    END;

    运行:
    sql>execute INSERTAMOUNTTEST(1,45000)   -- 一次插入45000条测试数据

    2、从存储过程中返回值
    create or replace procedure spaddflowdate
    (
    varAppTypeId               in varchar2, 
    varFlowId                  in varchar2,
    DateLength                 in number,
    ReturnValue                out number    --返回值
    )
    is
    begin
    insert into td values(varAppTypeId,varFlowId,DateLength)
    returning 1 into ReturnValue;   --返回值
    commit;
    exception
    when others then
    rollback;
    end;

    存储过程的执行
    sql>variable testvalue  number;
    sql>execute spaddflowdate('v','v',2,:testvalue);
    sql>print
    就可以看到执行结果

    3、用包实现存储过程返回游标:
    create  or  replace  package  test_p  
    as  
     
    type  outList  is  ref  cursor;  
     
    PROCEDURE  getinfor(taxpayerList  out  outList);  
     
    end  test_p;  

    create  or  replace  package  body  test_p  as  PROCEDURE  getinfor(taxpayerList out  outList)  is  begin  

          OPEN  taxpayerList    FOR  select  *  from
                            td where tag='0';  
     
    end  getinfor;  
     
    end  test_p;  
    /  
    运行: 
    set  serverout  on;    --将输出工具打开
    variable  x  refcursor;  
    execute test_p.getinfor(:x);

    exec  test_p.getinfor(:x);
    print  x; 

    drop package test_p;

  • 相关阅读:
    在 Java 中遍历 HashMap 的5种最佳方式
    Java 8 Stream.reduce() 使用示例
    Redis 为什么这么快?
    java8 常用代码
    为什么我们越娱乐反而会越无聊?
    Arrays.sort() VS Arrays.parallelSort()
    Java中枚举类型Enum的一种使用方式
    An illegal reflective access operation has occurred
    多线程中常见锁概述
    Java中创建多线程的三种方式
  • 原文地址:https://www.cnblogs.com/hzhida/p/2630094.html
Copyright © 2011-2022 走看看