時當我將參數傳遞給函數調用函數的錯誤,我得到以下錯誤:的Oracle PL/SQL:傳遞參數
Error: PLS-00306: wrong number or types of arguments in call to 'GET_NUM'.
的代碼如下:
CREATE OR REPLACE PACKAGE BODY TESTJNSABC IS
-- FUNCTION IMPLEMENTATIONS
FUNCTION get_num(num IN NUMBER)
RETURN VARCHAR2 IS
my_cursor VARCHAR2(20);
BEGIN
IF get_num = 1 THEN
my_cursor:= 'hello world';
ELSE
my_cursor:= 'Hi!';
END IF;
RETURN my_cursor;
END;
-- PROCEDURE IMPLEMENTATIONS
PROCEDURE testingabc AS
x NUMBER(3);
BEGIN
x:= 2;
dbms_output.put_line(get_num(x));
END testingabc;
END TESTJNSABC;
的問題是在'IF get_num = 1';你期望這樣做? – Aleksej
我只是創建一個簡單的例子來查看功能和程序的功能。但是,如果1是一個數字類型,爲什麼我得到這個錯誤? –
他已經回答你了。在IF語句中你正在調用函數本身,錯誤是因爲它不是一個遞歸函數,'get_num'需要一個參數。你想要的可能是'IF num = 1 THEN'這是你的參數。 –