zoukankan      html  css  js  c++  java
  • Oracle存储过程 --3

    Oracle存储过程包含三部分:过程声明,执行过程部分,存储过程异常。
    
    Oracle存储过程可以有无参数存储过程和带参数存储过程。 
    一、无参程序过程语法
    
    
    1 create or replace procedure NoParPro
    2 as  ;
    3 begin
    4 ;
    5 exception     //存储过程异常
    6     ;
    7 end;
    8 
            二、带参存储过程实例
     1 create or replace procedure queryempname(sfindno emp.empno%type) as
     2        sName emp.ename%type;
     3        sjob emp.job%type;
     4 begin
     5        ....
     7 exception
              ....
    14 end;
    15 
        三、 带参数存储过程含赋值方式 1 create or replace procedure runbyparmeters  (isal in emp.sal%type, 
                                sname out varchar,sjob in out varchar)
     2  as icount number;
     3  begin
     4       select count(*) into icount from emp where sal>isal and job=sjob;
     5       if icount=1 then
     6         ....
     9       else
    10         ....
    12       end if;
    13  exception
    14       when too_many_rows then
    15       DBMS_OUTPUT.PUT_LINE('返回值多于1行');
    16       when others then
    17       DBMS_OUTPUT.PUT_LINE('在RUNBYPARMETERS过程中出错!');
    18  end;
    19 
      四、在Oracle中对存储过程的调用
      过程调用方式一
     1 declare
     2        realsal emp.sal%type;
     3        realname varchar(40);
     4        realjob varchar(40);
     5  begin   //存储过程调用开始
     6        realsal:=1100;
     7        realname:='';
     8        realjob:='CLERK';
     9        runbyparmeters(realsal,realname,realjob);     --必须按顺序
    10        DBMS_OUTPUT.PUT_LINE(REALNAME||'   '||REALJOB);
    11  END;  //过程调用结束
    12 
      过程调用方式二
     1 declare
     2       realsal emp.sal%type;
     3       realname varchar(40);
     4       realjob varchar(40);
     5 begin    //过程调用开始
     6       realsal:=1100;
     7       realname:='';
     8       realjob:='CLERK';
     9       runbyparmeters(sname=>realname,isal=>realsal,sjob=>realjob);  --指定值对应变量顺序可变
    10       DBMS_OUTPUT.PUT_LINE(REALNAME||'   '||REALJOB);
    11 END;  //过程调用结束
    12 
    

      

  • 相关阅读:
    OSCP Learning Notes Buffer Overflows(3)
    OSCP Learning Notes Buffer Overflows(5)
    OSCP Learning Notes Exploit(3)
    OSCP Learning Notes Exploit(4)
    OSCP Learning Notes Exploit(1)
    OSCP Learning Notes Netcat
    OSCP Learning Notes Buffer Overflows(4)
    OSCP Learning Notes Buffer Overflows(1)
    OSCP Learning Notes Exploit(2)
    C++格式化输出 Learner
  • 原文地址:https://www.cnblogs.com/mr-hero/p/3489866.html
Copyright © 2011-2022 走看看