Каков наилучший способ получить значения переменной через функцию построчно? - PullRequest
0 голосов
/ 11 апреля 2019

У меня есть функция PL / SQL.В этой функции есть переменная, которая меняет свое значение.Я хочу принять такое поведение значения переменной.Поэтому я хочу получить значение этой переменной построчно.Каков наилучший способ сделать это?Или есть какая-нибудь функция, которую я могу вызвать?

Ответы [ 2 ]

0 голосов
/ 14 апреля 2019

Ваше описание очень ... разреженное :-), но, возможно, вы имеете в виду нечто вроде конвейерной функции, которая может при выводе данных выводить данные, которые затем могут быть использованы через SQL.Пример ниже:

SQL> create or replace
  2  function my_func return sys.odcinumberlist pipelined as
  3    my_var int := 0;
  4  begin
  5    pipe row ( my_var);
  6    my_var := my_var + 10;
  7    pipe row ( my_var);
  8    my_var := my_var * 10;
  9    pipe row ( my_var);
 10    return;
 11  end;
 12  /

Function created.

SQL>
SQL> select * from my_func();

COLUMN_VALUE
------------
           0
          10
         100

но, как уже говорили другие, мы просто догадываемся здесь.

0 голосов
/ 11 апреля 2019

Таким образом, вы хотите, чтобы ваша функция выводила несколько выходов, которые являются различными состояниями вашей переменной во время работы функции.

Я не думаю, что на самом деле есть какой-либо способ сделать это, поскольку функции имеют только один выход. Вы можете разделить функцию на несколько функций для каждого шага и запускать их одну за другой. Или вы можете выполнить процедуру с несколькими выходными значениями, а затем на каждом шаге, когда вы хотите получить значение вашей переменной, вы назначаете значение одному из ваших выходных параметров.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...