Oracle PL / SQL:传递参数时发生函数错误

恩格隆(Dev Ngron)

将参数传递给函数调用时,出现以下错误:

错误:PLS-00306:对“ 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 THEN,因为您正在调用get_num不带参数的函数,而该函数只有一个输入参数

如果要检查参数值,则可能意味着:

IF num = 1 THEN

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章