【问题标题】:running pl/sql Missing IN or OUT parameter at index:: 1issing IN or OUT parameter at index:: 1运行 pl/sql 在索引处缺少 IN 或 OUT 参数:: 1 在索引处缺少 IN 或 OUT 参数:: 1
【发布时间】:2018-02-12 20:46:06
【问题描述】:

我有这个程序

PROCEDURE P_OBTENER_PLANES(PLANES OUT PLAN_SET) IS 

    BEGIN
    SELECT PLAN_T(A.SECUENCIAL)
    BULK COLLECT INTO PLANES
    FROM RECLAMACION A
    WHERE A.ANO = 2011;
END;

我正在尝试使用此代码在 JDeveloper 上运行它

DECLARE
    PLANES DBAPER.PLAN_SET;

    BEGIN

        PKG_EDC.P_OBTENER_PLANES(
        PLANES => PLANES
        );

    :PLANES := PLANES;

END;

我得到了

正在连接到数据库 RERSERVAS_DEV。

索引:: 1 处缺少 IN 或 OUT 参数

进程退出。

从数据库 RERSERVAS_DEV 断开连接。

PLAN_SET 是 PLAN_T 的表类型,只有一个属性号。

【问题讨论】:

    标签: oracle plsql jdeveloper


    【解决方案1】:

    尝试为参数的参数指定一个与参数名称不同的名称:

    DECLARE
        v_PLANES DBAPER.PLAN_SET;
    BEGIN
    
            PKG_EDC.P_OBTENER_PLANES(
            PLANES => v_PLANES
            );
    END;
    

    【讨论】:

    • 谢谢,我试过你的答案。如果我跳过这行 :PLANES := PLANES 它没有错误。但是,当我添加该行以在“输出变量”选项卡上查看变量结果时,执行会崩溃。
    • @eslamb 不客气。您必须在 :PLANES := v_PLANES 分配之前定义 :PLANESsomewhere。
    猜你喜欢
    • 2014-04-26
    • 2012-08-05
    • 1970-01-01
    • 1970-01-01
    • 2014-03-19
    • 2022-08-22
    • 2022-01-20
    • 1970-01-01
    • 2018-01-31
    相关资源
    最近更新 更多