ORACLE包及存储过程

如果有许多存储过程,那么你可能需要用到存储过程包。在Oracle中使用存储过程包首先要先创建package声明存储过程,之后创建package body写存储过程的具体内容。

(1)package声明或定义:包定义部分是创建包的规范说明,声明包内数据类型、变量、常量、游标等元素。

这部分也是为使用者提供了透明的接口。

(2)包体packpage body:包体是包定义部分的具体实现。

(3)将有联系的对象打成包,方便使用

(4)包中对象包括储存过程,函数,游标,自定义类型和变量,可以在PL_SQL块中应用这些对象.

包定义

create or replace package pkg01 as

  /* TODO enter package declarations (types, exceptions, methods etc) here */

  PROCEDURE CALLPROC01(name varchar2);

end pkg01;

包体

create or replace package body pkg01 as

  procedure callproc01(name in varchar2) as

  res varchar2(20);

  begin

    res :='success';

    -- TODO: PROCEDURE PKG01.CALLPROC01所需的实施

    --DELETE FROM PROC WHERE ID=2;

    INSERT INTO PROC VALUES(2,name,sysdate);

    COMMIT;

    EXCEPTION

     WHEN OTHERS THEN

       DBMS_OUTPUT.PUT_LINE('异常代码:' + sqlcode);  --sqlcode代表异常代码

       DBMS_OUTPUT.PUT_LINE('异常信息:' + sqlerrm);  --sqlerrm代表异常信息

  end callproc01;

end pkg01;

存储过程

create or replace procedure proc01

(

  name in varchar2

, res out varchar2

) as

begin

  res :='success';

  DELETE FROM PROC WHERE ID=1;

  INSERT INTO PROC VALUES(1,name,sysdate);

  commit;

  EXCEPTION

    WHEN OTHERS THEN

    res := 'insert failed';

    return;

end proc01;

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

kencai1983

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值