pl/sql 包_PL / SQL包-3

pl/sql 包

包装中使用REF光标

===============================

-----------------


create or replace package pack1
as
type mycur is ref cursor;
end;
注意:-由于软件包不包含任何过程或功能,因此不需要创建软件包主体。

----------------------------

在程序中使用(全球)引用

-------------------------------------------------- -------------------

create or replace procedure testproc
(
no emp.deptno%type,
rec out pack1.mycur
)
is
begin
open rec for select * from emp where deptno=no;
end ;
--------------------------------

从不一致的块调用过程

=============================================

declare
mm pack1.mycur;
ll emp%rowtype;
begin
testproc(10,mm);
loop
fetch mm into ll ;
exit when mm%notfound;
DBMS_OUTPUT.PUT_LINE(ll.empno||' ' ||ll.ename);
end loop;
end;
包装中的功能超载。

================================

----------------


CREATE OR REPLACE PACKAGE PKG_OVRLD
AS
FUNCTION TRANS_DATE(DT IN DATE)RETURN  NUMBER;
FUNCTION TRANS_DATE(DT IN NUMBER)RETURN DATE;
END PKG_OVRLD;
包装体

------------------------


CREATE OR REPLACE PACKAGE BODY PKG_OVRLD AS 
FUNCTION TRANS_DATE(DT IN DATE)RETURN  NUMBER IS
BEGIN
RETURN ROUND((DT-TO_DATE('01011970','MMDDYYYY'))*86400);
END TRANS_DATE; 
FUNCTION TRANS_DATE(DT IN NUMBER)RETURN DATE IS
BEGIN
RETURN (TO_DATE('01011970','MMDDYYYY') +(DT/(86400)));
END TRANS_DATE; 
END PKG_OVRLD; 

还要检查

包装-4

翻译自: https://bytes.com/topic/oracle/insights/746994-pl-sql-package-3-a

pl/sql 包

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值