如何更正“” PLS-00306:调用“”时参数的数量或类型错误
How to correct '' PLS-00306: wrong number or types of arguments in call to ''
我想调用一个函数(ADD_PRICELIST
)来获取这个函数中的值:
*add_pricelist 函数编译成功。
CREATE OR REPLACE FUNCTION PRICELIST_DATA(
CPRIC_DATA_ID CUSTOMERS.CUSTOMERS_ID%TYPE,
IPRIC_DATA_ID ITEMS.ITEMS_ID%TYPE
)
RETURN NUMBER AS
L_PRICELIST_DATA_ID NUMBER;
BEGIN
L_PRICELIST_DATA_ID := ADD_PRICELIST(ROUND(dbms_random.value(0,10),3));
END IF;
RETURN L_PRICELIST_DATA_ID;
END PRICELIST_DATA;
给我:
PLS-00306: wrong number or types of arguments in call to ADD_PRICELIST
你的ADD_PRICELIST
函数作为签名:
CREATE OR REPLACE FUNCTION ADD_PRICELIST(
L_PLIST_CUST_ID CUSTOMERS.CUSTOMERS_ID%TYPE,
L_PLIST_ITEMS_ID ITEMS.ITEMS_ID%TYPE,
P_PRICELIST_PRICE NUMBER
) RETURN NUMBER
这需要 3 个值和 returns 1 个值(顺便说一句,它总是 return NULL
)。
你只用一个参数调用它:
L_PRICELIST_DATA_ID := MINI_ERP.ADD_PRICELIST(
ROUND(dbms_random.value(0,10),3)
);
这给你错误:
PLS-00306: wrong number or types of arguments in call to ADD_PRICELIST
要解决这个问题,您需要传递其他 2 个参数,以便函数具有所有 3 个预期参数。
例如:
L_PRICELIST_DATA_ID := MINI_ERP.ADD_PRICELIST(
ROUND(dbms_random.value(0,10),3),
ROUND(dbms_random.value(0,10),3),
ROUND(dbms_random.value(0,10),3)
);
我想调用一个函数(ADD_PRICELIST
)来获取这个函数中的值:
*add_pricelist 函数编译成功。
CREATE OR REPLACE FUNCTION PRICELIST_DATA(
CPRIC_DATA_ID CUSTOMERS.CUSTOMERS_ID%TYPE,
IPRIC_DATA_ID ITEMS.ITEMS_ID%TYPE
)
RETURN NUMBER AS
L_PRICELIST_DATA_ID NUMBER;
BEGIN
L_PRICELIST_DATA_ID := ADD_PRICELIST(ROUND(dbms_random.value(0,10),3));
END IF;
RETURN L_PRICELIST_DATA_ID;
END PRICELIST_DATA;
给我:
PLS-00306: wrong number or types of arguments in call to ADD_PRICELIST
你的ADD_PRICELIST
函数作为签名:
CREATE OR REPLACE FUNCTION ADD_PRICELIST(
L_PLIST_CUST_ID CUSTOMERS.CUSTOMERS_ID%TYPE,
L_PLIST_ITEMS_ID ITEMS.ITEMS_ID%TYPE,
P_PRICELIST_PRICE NUMBER
) RETURN NUMBER
这需要 3 个值和 returns 1 个值(顺便说一句,它总是 return NULL
)。
你只用一个参数调用它:
L_PRICELIST_DATA_ID := MINI_ERP.ADD_PRICELIST(
ROUND(dbms_random.value(0,10),3)
);
这给你错误:
PLS-00306: wrong number or types of arguments in call to ADD_PRICELIST
要解决这个问题,您需要传递其他 2 个参数,以便函数具有所有 3 个预期参数。
例如:
L_PRICELIST_DATA_ID := MINI_ERP.ADD_PRICELIST(
ROUND(dbms_random.value(0,10),3),
ROUND(dbms_random.value(0,10),3),
ROUND(dbms_random.value(0,10),3)
);