zoukankan      html  css  js  c++  java
  • Oracle存储过程包含三部分:过程声明,执行过程部分,存储过程异常。

    Oracle存储过程可以有无参数存储过程和带参数存储过程。 
    、无参程序过程语法

     create or replace procedure NoParPro
     as  ;
     begin
     ;
     exception     //存储过程异常
         ;
     end;
     


            二、带参存储过程实例

     create or replace procedure queryempname(sfindno emp.empno%type) as
             sName emp.ename%type;
             sjob emp.job%
    type;
     begin

            ....
    exception
              ....
    end;


        三、 带参数存储过程含赋值方式

    create or replace procedure runbyparmeters  (isal in emp.sal%type,
                                sname out varchar,sjob in out varchar)
      as icount number;
      begin
           select count(*) into icount from emp where sal>isal and job=sjob;
           if icount=1 then
             ....
          else
             ....
           end if;
      exception
           when too_many_rows then
           DBMS_OUTPUT.PUT_LINE('返回值多于1行');
           when others then
           DBMS_OUTPUT.PUT_LINE('在RUNBYPARMETERS过程中出错!');
      end;


      四、在Oracle中对存储过程的调用
      过程调用方式一

     declare
            realsal emp.sal%type;
            realname varchar(40);
            realjob varchar(40);
      begin   //存储过程调用开始
            realsal:=1100;
            realname:='';
            realjob:='CLERK';
            runbyparmeters(realsal,realname,realjob);     --必须按顺序
            DBMS_OUTPUT.PUT_LINE(REALNAME||'   '||REALJOB);
      END;  //过程调用结束
     

      过程调用方式二

    declare
           realsal emp.sal%type;
          realname varchar(40);
           realjob varchar(40);
     begin    //过程调用开始
           realsal:=1100;
         realname:='';
          realjob:='CLERK';
          runbyparmeters(sname=>realname,isal=>realsal,sjob=>realjob); 
     --指定值对应变量顺序可变
          DBMS_OUTPUT.PUT_LINE(REALNAME||'   '||REALJOB);
     END;  //过程调用结束

     至此,有关ORACLE的基本存储过程以及对Oracle存储过程的调用方式介绍完毕。

  • 相关阅读:
    Windows 上 Redis 的安装
    SpringBoot项目application.yml 问题
    Gradle项目使用zxing在windows下报错:android:jar must specify an absolute path but is /${env.ANDROID_HOME}/…
    day23<AJAX>
    day22<文件上传>
    day21<过滤器>
    day20<监听器&国际化>
    day19<Service>
    day18<事务&连接池&DBUtils>
    day17<JDBC>
  • 原文地址:https://www.cnblogs.com/Lightning-Kid/p/3935049.html
Copyright © 2011-2022 走看看