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 
    

      

  • 相关阅读:
    PHP之常用设计模式
    MySQL之慢查询日志和通用查询
    mysql之找回误删数据
    PHPer未来路在何方...
    如何成为更优秀的程序员
    常见的 CSRF、XSS、sql注入、DDOS流量攻击
    API接口TOKEN设计
    成为更好的程序员的八中途径
    奉秉格言
    PHP优化与提升
  • 原文地址:https://www.cnblogs.com/mr-hero/p/3489866.html
Copyright © 2011-2022 走看看