代码如下:
CREATE OR REPLACE PACKAGE BODY Interface_PKG AS
PROCEDURE GetTableData(IN_WorkDate IN Date, IO_CURSOR OUT T_CURSOR) IS
V_CURSOR? T_CURSOR;
BEGIN
OPEN V_CURSOR FOR
select *
from 测试表
where workdate = IN_WorkDate;
IO_CURSOR := V_CURSOR;
End GetTableData;
END Interface_PKG;
扩展资料
PACKAGE分SPEC和body两部分:
①.、SPEC是声明部分:
CREATE?OR?REPLACE?PACKAGE?FirstPage?is
type?outlist?is?ref?cursor;
Procedure?p_get(?maxrow?in?number,?minrow?in?number,?return_list?out?outlist?);
END?FirstPage;
CREATE?OR?REPLACE?package?body?FirstPage?is
Procedure?p_get(?maxrow?in?number,?minrow?in?number,?return_list?out?outlist?)
is?begin?open?return_list?for
select?*?from?(select?a.*,rownum?rnum?from?IPS_WL_INNOLUXPN?a?where?rownum=maxrow)?where?rnum?=minrow;
end?;
oracle数据库中:用的最多的是表(table),表里面用于存储数据.起到数据库的作用.
包和包体一般是不可分的,包中定义变量;包体中书写操作程序.(备注:在数据库端得包体中编写数据库操作代码,简单,快捷,方便).
前台只需要调用oracle的包体函数就可以实现该包体中的数据库操作语言,完成数据存储,修改,删除,等等功能.
除上述以外还有:视图,触发器,队列,数据库连接等等.
都说到这里了大家应该明白,oracle非常好用!!!!
------包体类似于C语言的公共类函数.
包头
create or replace package package_name is
prcedure p1;
end package_name;
包体
create or replace package body package_name is
prcedure p1 is
begin
--代码省略
end p1;
包只是作为 程序的一个载体而已,你要运行,当然是去调用它!
包里面可以包含函数、过程等,你可以开发程序时候调用包里面的这些程序!没有听说过包怎么运行的道理!
就像电视机(包)可以用来看电视,但是你不去打开它(调用包),它就没有作用!
楼下的明显误导别人啊,包何来参数之说?只有包里面的程序才有参数,调用包里面过程的方法如下:
exec 包名.过程名();
end;
函数的调用就不用我写了吧!
exec package.function(xx,xx...);
如果想执行整个,在包中编写一个调研所有函数或存储的主存储,然后你调研主存储就可以了.
oracle提供包功能本身不具备调研所有函数或存储的功能,只是将函数、存储、变量以包的形式管理.
包用于在逻辑上组合过程和函数,它由包规范和包体两部分组成
①创建包
--创建一个包sp_package
create package sp_package is
--声明该包有一个过程和函数,(没有实现)
--创建包体(用于实现已经声明的函数和过程)
create package body sp_package is
is
UPDATE emp
SET sal = newsal
WHERE ename = name;
END;
return number is
annual_salary number;
INTO annual_salary
FROM emp
RETURN annual_salary;
--调用包中的内容
exec sp_package.update_sal('name',number);
以上就是土嘎嘎小编为大家整理的如何执行oracle包体相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!