• oracle存储过程---创建存储过程语句


    一、创建存储过程语句

          语法:  CREATE OR REPLACE PROCEDURE testname( argument1 TYPE1, ....  ) AS BEGIN ...... END   testname

          例子:

    CREATE OR REPLACE PROCEDURE test_name(
    arg1 VARCHAR2,arg2 number,arg3 number)
    AS
    BEGIN
      insert into test_for_insert(
                  STACID,  LOANNO,  SYSTID,  PARA1, PARA2 
                )values(
                           1,       arg1,       'wld',     arg2,    arg3
                );
            
      dbms_output.put_line('work!');
    END test_name;

         右键‘测试’,输入参数

    二、存储过程使用游标

           游标就像循环里面的指针

           语法:定义 :  CURSOR  point  IS SELECT number FROM test_table;  

                      使用:FOR  test_point  IN  point LOOP

                                      .................................

                                 END LOOP;

    create or replace procedure test1 (sys in varchar2)is
      v_sys  test_table.SYSTID%TYPE;
      v_arg number(10,2);
      CURSOR table_cursor IS
      SELECT SYSTID, NUMBER from test_table;  
    begin    
    
      for test_cursor in table_cursor LOOP 
        if sys = 'TEST' then
         dbms_output.put_line(' work ');
       end if;
      END LOOP;
    end test1; 

    三、给变量赋值

             语法  :   SELECT  a.number, a INTO varible1 FROM test_table a;

             例子 : 

    create or replace procedure test_pro(sys in varchar2) is 
    
      v_sys  test_table.SYSTID%TYPE;
      v_varible1 number(10,2);
      v_varible2 number(10,2);
    
      CURSOR test_cursor IS
      SELECT SYSTID, NUMBER 
      from test_table;  
    
    BEGIN
    
     for v_cursor in test_cursor LOOP
       if sys = 'wld' then
            select t.SYSTID, nvl(sum(t.var1+t.var2),0) 
            into v_sys, v_varible1
            from test_table t where  t.NUMBER = v_cursor.NUMBER;
           dbms_output.put_line('SYS : ' || v_sys || ' v_varible1  : ' || v_varible1 );
       end if;
     END LOOP;
    END test_pro;

    四、 插入表格

            语法: INSERT INTO table1 ( arg1, arg2 .....) SELECT varible1, varible2 ..... FROM table2;

            例子:

       

    create or replace procedure test3 (sys in varchar2)is
      v_sys  test_table.SYSTID%TYPE;
      v_arg number(10,2);
    
    begin    
    
        INSERT INTO table1
       (
        arg1, arg2, ....
        )
        select 
        varible1, varible2,...     
        from table2;
        
    end test3; 

    ------------- ------------- 谢谢大佬打赏 ------------- -----------

     

  • 相关阅读:
    最全Pycharm教程
    Django系列:(1)PyCharm下创建并运行我们的第一个Django工程
    用pycharm+django开发web项目
    python在不同层级目录import模块的方法
    Android GetTimeAgo(时间戳转换几天前,几分钟前,刚刚等)
    Fresco简单的使用—SimpleDraweeView
    django常用命令
    Android 浅谈 RxAndroid + Retrofit + Databinding
    云计算之路-阿里云上:负载均衡从七层换成四层后的意外发现团队
    云计算之路-阿里云上:因为网络问题,物理机换回虚拟机团队
  • 原文地址:https://www.cnblogs.com/Jomini/p/9251222.html
Copyright © 2020-2023  润新知