を渡すとき、私は関数呼び出しにパラメータを渡すと、私は次のエラーを取得する機能エラー:次のように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がNUMBER TYPEの場合、なぜこのエラーが発生しますか? –
彼はすでにあなたに答えました。 IF文では関数自体を呼び出していますが、これは再帰関数ではなく、 'get_num'にパラメータが必要なためです。あなたが望むものはおそらくあなたのパラメータである 'IF num = 1 THEN'でしょう。 –