绑定存储过程中的变量错误

时间:2017-12-02 08:50:29

标签: oracle plsql

这是我的程序代码:

let x = new Array(1000);
x.fill(new Array(1000).fill(0));

我使用了绑定变量,无法理解该问题。即使它们未在程序中使用,也必须绑定所有参数 当我传递任何输入时,我收到错误 java.sql.SQLException:ORA-01008:并非所有变量绑定

2 个答案:

答案 0 :(得分:0)

在这种情况下,不需要使用动态plsql。尝试这样做:

CREATE OR REPLACE PROCEDURE SP_CUSTOMER_PRODUCT_QRY
   ( P_PARENT_PARTYID IN VARCHAR2,
     P_PRODUCT_ID IN VARCHAR2,
     P_PRODUCT_STATUS IN VARCHAR2,
     P_PAGING  IN VARCHAR2,
     P_OFFSET IN VARCHAR2,
     P_LIST_OF_PARTIES OUT VARCHAR2 )
AS
   CURSOR CUR_PARTYID
   IS
   SELECT PARTYID 
   FROM TABLE1
   WHERE (P_PARENT_PARTYID IS NULL 
        OR PARENT_PARTYID = P_PARENT_PARTYID)
        AND (P_PRODUCT_ID IS NULL
        OR PRODUCT_ID = P_PRODUCT_ID)
        AND (P_PRODUCT_STATUS IS NULL
        OR PRODUCT_STATUS = P_PRODUCT_STATUS);
BEGIN

    OPEN  CUR_PARTYID;
    FETCH CUR_PARTYID INTO P_LIST_OF_PARTIES;
    CLOSE CUR_PARTYID;

END;
/

答案 1 :(得分:-1)

对于where子句中的3个变量,您需要执行immediate的“using”子句。

例如:

n