如何使用' CALL'来调用用户定义的函数?声明?

时间:2016-11-22 08:51:18

标签: sql oracle function call

我正在通过Oracle文档获取CALL语句。在那里指出CALL语句可以用于通过使用INTO(不是包内的函数)来调用用户定义的函数。我尝试了大量的组合,但似乎无法找到合适的组合。有人能给我一个如何做到这一点的例子吗?感谢。

编辑:

我在SQL Developer中尝试过以下示例,但是我收到了错误。

variable x number; 
call f(10) into :x;

我在第2行听到了一声巨响:

SQL Error: ORA-01008: not all variables bound<br>
01008. 00000 -  "not all variables bound"

1 个答案:

答案 0 :(得分:1)

来自Oracle documentation

VARIABLE x VARCHAR2(25);

CALL warehouse_typ(456, 'Warehouse 456', 2236).ret_name()
   INTO :x;

另一个例子:

create function f(n number) return number is
begin
    return n * 2;
end;

SQL> variable x number;
SQL> call f(10) into :x;

Call completed.

SQL> print x;

         X
----------
        20