在sql plus中执行一个函数

时间:2011-02-26 14:35:09

标签: oracle function sqlplus

我在oracle中创建了一个函数,它在特定的表中插入记录,并根据函数中的内容返回输出。例如(ins_rec返回号码)

如何调用此函数并在sql plus

中查看其输出

3 个答案:

答案 0 :(得分:32)

declare
  x number;
begin
  x := myfunc(myargs);
end;

可替换地:

select myfunc(myargs) from dual;

答案 1 :(得分:11)

一种选择是:

SET SERVEROUTPUT ON

EXEC DBMS_OUTPUT.PUT_LINE(your_fn_name(your_fn_arguments));

答案 2 :(得分:4)

正如另一个答案已经说过,请调用select myfunc(:y) from dual;,但您可能会发现在sqlplus中声明并设置变量有点棘手:

sql> var y number

sql> begin
  2  select 7 into :y from dual;
  3  end;
  4  /

PL/SQL procedure successfully completed.

sql> print :y

         Y
----------
         7

sql> select myfunc(:y) from dual;