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 
    

      

  • 相关阅读:
    ARM板卡ftp客户端应用
    vsftp移植(待续)
    /dev/null脚本中作用
    amazeui.css
    将td中文字过长的部分变成省略号显示的小技巧
    div非弹出框半透明遮罩实现全屏幕遮盖css实现
    重新定位svn地址的方法(windows和linux),svn switch(sw)的帮助信息
    linux 下启动SVN服务
    用SVN checkout源码时,设置账号
    svn提示out of date
  • 原文地址:https://www.cnblogs.com/mr-hero/p/3489866.html
Copyright © 2011-2022 走看看