выполнение функции в sql plus - PullRequest
       2

выполнение функции в sql plus

27 голосов
/ 26 февраля 2011

Я создал функцию в oracle, которая вставляет записи в определенные таблицы и возвращает результат в соответствии с тем, что происходит внутри функции. например (номер возврата ins_rec)

Как мне вызвать эту функцию и увидеть ее вывод в sql plus

Ответы [ 3 ]

32 голосов
/ 28 февраля 2011
declare
  x number;
begin
  x := myfunc(myargs);
end;

В качестве альтернативы:

select myfunc(myargs) from dual;
11 голосов
/ 26 февраля 2011

Один из вариантов будет:

SET SERVEROUTPUT ON

EXEC DBMS_OUTPUT.PUT_LINE(your_fn_name(your_fn_arguments));
4 голосов
/ 09 марта 2011

Как уже сказал другой ответ, позвоните 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;
...