在Oracle APEX PL / SQL中传递变量

时间:2011-11-16 19:43:25

标签: sql oracle plsql oracle-apex

我正在APEX中构建一个简单的应用程序。我的一个页面是一个报告,对于区域来源,我有一些代码来实现这个效果。我收到的错误信息是

ORA-00904: "var_out": invalid identifier

本质上是变量:form_variable来自搜索框,我可以将其传递给查询字符串(即将“变量”替换为“:form_variable”,但我想先将它传递给函数并将其放入输入到字符串中。我确信这很简单,但对于我的生活,我无法理解该怎么做。

DECLARE
variable VARCHAR2(10);
query VARCHAR2(1000);

-- Where var_out is an output
BEGIN
myfunction(:form_variable, var_out);
variable := var_out;

query := 'SELECT * FROM TABLE WHERE column = variable';

RETURN query;

END;

由于

1 个答案:

答案 0 :(得分:3)

您需要在声明块中声明输出变量var_out

    DECLARE
    var_out VARCHAR2(10);
    query VARCHAR2(1000);

    -- Where var_out is an output
    BEGIN
    myfunction(:form_variable, var_out);
    --variable := var_out;

    query := 'SELECT * FROM TABLE WHERE column = '''||var_out||'''';

    RETURN query;

    END;

此外,您的查询字符串在您的示例中没有进行任何替换。如果你的程序myfunction输出清除变量,你可以连接它。