Pessoal, tenho uma tabela que um monte de gente inseriu dados na mão e não respeitou a sequence.
Então utilizei este script para atualizar o nextval da sequence com o max()+1 da coluna id.
declare
v_prox_numero number;
v_numero_atual number;
v_novo_numero number;
v_numero number;
v_texto varchar2(100);
begin
select max(t.id)+1
into v_prox_numero
from nome_tabela t;
select nome_sequence.nextval
into v_numero_atual
from dual;
v_novo_numero := (v_prox_numero - v_numero_atual)+1;
if v_novo_numero > 0 then
for reg_seq in 1..v_novo_numero loop
select nome_sequence.nextval
into v_numero
from dual;
end loop;
end if;
end;
Créditos à Ana Karina Pereira.
Abraços!
Adriano Schmidt
domingo, 20 de julho de 2014
Assinar:
Postar comentários (Atom)
Nenhum comentário:
Postar um comentário