作者TeemingVoid (TeemingVoid)
看板Database
标题Re: Oracle该如何查询一Pakage底下Funs/Procs的数量
时间Wed Jan 4 23:37:07 2012
※ 引述《Hikki520 (Hirayama...............)》之铭言:
: 各位DB板的大大好:
: 想请教各位是否知道在Oracle中如何计算一Pakage底下有的
: Procedures / Functions的名称or数量
: m(_ _)m 烦请不吝告知,感谢。
举例来说,如果有个 Package 叫 FINANCE:
CREATE PACKAGE Finance AS -- package specification
FUNCTION Compound
(Years IN NUMBER,
Amount IN NUMBER,
Rate IN NUMBER) RETURN NUMBER;
PRAGMA RESTRICT_REFERENCES (Compound, WNDS, WNPS, RNDS, RNPS);
END Finance;
CREATE PACKAGE BODY Finance AS --package body
FUNCTION Compound
(Years IN NUMBER,
Amount IN NUMBER,
Rate IN NUMBER) RETURN NUMBER IS
BEGIN
RETURN Amount * POWER((Rate / 100) + 1, Years);
END Compound;
END Finance;
/
上述程式采自 Oracle 参考手册。
接下来,想列出 Package Body 的内容清单可以这麽做:
select distinct
p.object_name AS package_name,
p.procedure_name
from all_procedures p join all_objects o
on (o.object_name = p.object_name
and o.object_type = 'PACKAGE')
where p.object_name = 'FINANCE';
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 111.252.125.215
1F:推 Hikki520:高手大大感谢您!!!!!!!!!!!! 01/05 22:48