将函数的结果数据用于另一个SQL ORACLE

时间:2015-03-02 20:39:28

标签: sql oracle

我需要帮助处理包中的函数。问题是我得到了 两个功能。我们可以称之为第一个函数" function_a"。这个函数的结果,我怎样才能在function_b中发送它?将结果传递给function_b的命令是什么?

代码如下:

CREATE OR REPLACE PACKAGE BODY test_PKG AS
FUNCTION F_a  (F_h NUMBER,   F_r NUMBER ) RETURN  NUMBER
AS
V_PI NUMBER := 3.14;
V_BOTTEN NUMBER := F_r * F_r * V_PI;
V_VOLYM NUMBER;
BEGIN
V_VOLYM := F_h * V_BOTTEN;
RETURN V_VOLYM;
END F_a;

FUNCTION_B
.....
....
....

如何从function_a中的v_volym获取结果到function_B?

2 个答案:

答案 0 :(得分:0)

这样的事情:

CREATE OR REPLACE PACKAGE BODY test_PKG AS
FUNCTION F_a (F_h NUMBER, F_r NUMBER ) RETURN NUMBER
AS
V_PI NUMBER := 3.14;
V_BOTTEN NUMBER := F_r * F_r * V_PI;
V_VOLYM NUMBER;
BEGIN
V_VOLYM := F_h * V_BOTTEN;
RETURN V_VOLYM;
END F_a;

FUNCTION F_b RETURN NUMBER
AS
F_A_RESULT NUMBER;
BEGIN
F_A_RESULT := F_A(1,2);
RETURN F_A_RESULT;
END F_B;

PROCEDURE P_b (RESULT OUT NUMBER) 
AS

BEGIN
RESULT := F_A(1,2);
END F_B;
....

答案 1 :(得分:-2)

使用包变量。他们将具有整个包装的范围。