oracle包的创建

一 包的组成

1)包头(package):包头部分申明包内数据类型,常量,变量,游标,子程序和异常错误处理,

这些元素为包的公有元素。

2)包主体(package body):包主体则是包定义部分的具体实现,它负责为包头中所声明子程序

提供具体的实现,在包主体中还可以声明包的私有元素

3)包头和包主体分开编译,并作为两个分开的对象分别存放在数据库字典中


--删除package

--drop package pkg_lxg_test;

--1)首先创建package头(头和body的sql不要写在同一个文件中执行)

---- 这里可以声明多个procedure(如果外部调用才声明)

create or replace package pkg_lxg_test as

procedure deleteTask(taskTypeCode in varchar2,--任务类型代码

businessKey in varchar2,--业务号

resultCode out varchar2,--结果代码

resultMessage out varchar2 --结果信息

);

end pkg_lxg_test;


--)2 再创建package体(上面的头不能和体一起执行,移交时应该写成两个sql文件进行移交)

--)3 创建完成后,如果创建成功了会自动编译的

--)4 如果在创建package不成功的话,在查看和说明中可以查看到错误

--)5 package创建完成后,-->右键,查看--->然后选中你要测试的package中的proc点击右键---》测试

CREATE OR REPLACE PACKAGE BODY NBADATA.pkg_lxg_test AS


function function2(taskTypeCode in varchar2,businessKey in varchar2) return varchar2

is

v_preview_environment varchar2(4);

v_voucher_no varchar2(50);

v_count number default 0;

begin

v_preview_environment:= '1';

--dbms_output.put_line('执行了方法function2');

return v_preview_environment;

end function2;


--这里定义procedure,可以定点多个

procedure deleteTask(taskTypeCode in varchar2,--结果代码

resultMessage out varchar2 --结果信息

) IS

begin

begin

resultCode := '0';

resultMessage := 'delete asynchrouns task sucess';

--dbms_output.put_line('成功执行了存储过程');

exception

when others then

resultCode := '1';

resultMessage := 'fail in deleting asynchrouns task sucess';

end;

end deleteTask;


end pkg_lxg_test;

/

相关文章

数据库版本:11.2.0.4 RAC(1)问题现象从EM里面可以看到,在23号早上8:45~8:55时,数据库等待会话暴增...
(一)问题背景最近在对一个大约200万行数据的表查看执行计划时,发现存在异常,理论上应该返回100多万...
(一)删除备份--DELETE命令用于删除RMAN备份记录及相应的物理文件。当使用RMAN执行备份操作时,会在RM...
(1)DRA介绍 数据恢复顾问(Data Recovery Advise)是一个诊断和修复数据库的工具,DRA能够修复数据文...
RMAN(Recovery Manager)是Oracle恢复管理器的简称,是集数据库备份(backup)、修复(restore)和恢复...
(1)备份对象 可以使用RMAN进行的备份对象如下: --整个数据库:备份所有的数据文件和控制文件; --数...