Как вы получаете следующее значение в последовательности в переменную? - PullRequest
7 голосов
/ 14 июня 2011

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

Имя последовательности передается в функцию и сохраняется как переменная varchar2.Как вы можете получить следующее значение в этой последовательности в локальной переменной.

1 Ответ

13 голосов
/ 14 июня 2011

Как то так?

create or replace procedure next_val (p_sequence_name varchar2)
as

v_nextval integer;
v_select varchar2(100);

begin

v_select := 'select '||p_sequence_name||'.nextval from dual';

execute immediate v_select into v_nextval;

dbms_output.put_line('Nextval is: '||TO_CHAR(v_nextval));

end;
...