zoukankan      html  css  js  c++  java
  • oracle存储过程

    存储过程 包含三部分: 声明,执行部分,异常。
    可以有无参数程序和带参数存储过程。
    无参程序语法
    1 create or replace procedure NoParPro
    2 as   ;
    3 begin
    4  ;
    5 exception
    6      ;
    7 end;
    8
    存储过程 包含三部分: 声明,执行部分,异常。
    可以有无参数程序和带参数存储过程。
    无参程序语法
    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

    过程调用
    方式一
    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

    本篇文章来源于:开发学院 http://edu.codepub.com   原文链接:http://edu.codepub.com/2009/1029/17050.php
  • 相关阅读:
    [BZOJ2296] [POJ Challenge] 随机种子
    [BZOJ1026] [SCOI2009] windy数 (数位dp)
    [BZOJ1306] [CQOI2009] match循环赛 (搜索)
    [BZOJ2654] tree (kruskal & 二分答案)
    [BZOJ3506] [Cqoi2014] 排序机械臂 (splay)
    [BZOJ1552] [Cerc2007] robotic sort (splay)
    [BZOJ3110] [Zjoi2013] K大数查询 (树套树)
    BZOJ3611: [Heoi2014]大工程
    BZOJ2286: [Sdoi2011]消耗战
    BZOJ3876: [Ahoi2014]支线剧情
  • 原文地址:https://www.cnblogs.com/xinzhuangzi/p/4100641.html
Copyright © 2011-2022 走看看