2010-10-31 93 views

回答

16

在SQL另外,你可以这样做:

var x number 
exec :x := myfunction(); 

或者您可以使用SQL:

select myfunction() from dual; 
+1

我无法选择,因为我有SQL函数内的更新语句。该执行...工作。谢谢! – Mattan 2010-10-31 10:32:34

+0

什么是完整路径?如果它是一个你正在测试的函数或程序,那该怎么办? – user447607 2014-11-20 18:07:02

2

上面的例子展示了如何从SQL * Plus中调用一个函数。如果您从PL/SQL过程调用函数,请参阅下面的示例。

DECLARE 
    x NUMBER; 
BEGIN 
    x := myfunction(); 
END; 

更复杂的例子,将返回100(10 * 10)的值:

DECLARE 

    x NUMBER; 

    FUNCTION mysquare(in_y IN NUMBER) RETURN NUMBER IS 
    BEGIN 
    RETURN in_y * in_y; 
    END mysquare; 

BEGIN 

    dbms_output.enable; 
    x := mysquare(10); 
    dbms_output.put_line(x); 

END;