如何调用sql函数?

时间:2016-07-12 11:34:33

标签: sql plsql oracle12c

我编写了一个函数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

中编写了这段代码

2 个答案:

答案 0 :(得分:4)

您需要运行select

select minimum2(1,2) 
from dual

您还需要使用/

结束此功能

enter image description here

有关使用/的方式和原因的详细信息,请参阅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;
/