我编写了一个函数minimum2,它将两个数字作为参数并返回最小数字。此函数编译时没有任何错误。当我调用函数minimum(1,2);
时,我得到错误PLS-00103。这是函数和函数调用:
CREATE OR REPLACE FUNCTION minimum2(v1 number, v2 number) RETURN number IS
BEGIN
IF v1 < v2 THEN
RETURN v1;
ELSE
RETURN v2;
END IF;
END;
--I call the function asl follow
minimum2(1,2);
我做错了什么?我在sql developer
中编写了这段代码答案 0 :(得分:4)
您需要运行select
select minimum2(1,2)
from dual
您还需要使用/
:
有关使用/
的方式和原因的详细信息,请参阅here
你知道有一个内置功能吗?
select least(1,2)
from dual
答案 1 :(得分:1)
- 为参数指定'in'和'out'很重要,或者它可以按原样工作,但最佳做法是使用:
CREATE OR REPLACE FUNCTION minimum2(v1 IN number, v2 IN number) RETURN number IS
BEGIN
IF v1 < v2 THEN
RETURN v1;
ELSE
RETURN v2;
END IF;
END;
- 我通过匿名块调用函数如下,你不能直接调用函数。
set serveroutput on;
begin
dbms_output.put_line('Output is ' || minimum2(1,2));
END;
/