概述
create or replace procedure p_update_sequence(
i_sequence_name in varchar2,
i_table_name in varchar2,
i_id_column in varchar2
) is
v_sql varchar2(2000);
v_max_id number;
v_diff number;
begin
v_sql := 'select max(' || i_id_column || ') from ' || i_table_name;
execute immediate v_sql into v_max_id;
v_sql := 'select ' || v_max_id || ' - ' || i_sequence_name || '.nextval from dual';
execute immediate v_sql into v_diff;
if v_diff <= 0 then
return;
end if;
v_sql := 'alter sequence ' || i_sequence_name || ' increment by ' || v_diff;
execute immediate v_sql;
v_sql := 'select ' || i_sequence_name || '.nextval from dual';
execute immediate v_sql into v_diff;
v_sql := 'alter sequence ' || i_sequence_name || ' increment by 1';
execute immediate v_sql;
end p_update_wf_sequence;
最后
以上就是伶俐音响为你收集整理的oracle同步sequence的全部内容,希望文章能够帮你解决oracle同步sequence所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复