Fórum Criação de Sequence #28817
22/05/2007
0
Estou necessitando criar algumas sequences num cliente e para isso montei um declare conforme descrito abaixo, mas o mesmo esta dando msg de erro justamente na criação da sequence.
Montei esse declare justamente para o cliente não precisar fazer um select max e depois pegar o valor e indicar no start.
Alguem saberia como resolver esse problema?
Muitissimo obrigado pela ajuda.
declare
vMax int;
begin
declare
cursor c_MovUsu is
select max(codigo_mus) from avt_mov_usuario;
begin
open c_MovUsu;
fetch c_MovUsu into vMax;
if(c_MovUsu¬found) then
vMax := vMax + 1;
else
vMax := 1;
end if;
create sequence Seq_AmuCodMus increment by 1 start with vMax nocycle;
close c_MovUsu;
end;
end;
Gordonsp
Curtir tópico
+ 0Posts
23/05/2007
Motta
declare vMax int; begin declare cursor c_MovUsu is select max(codigo_mus) from avt_mov_usuario; begin open c_MovUsu; fetch c_MovUsu into vMax; if(c_MovUsu¬found) then vMax := vMax + 1; else vMax := 1; end if; execute immediate (´create sequence Seq_AmuCodMus increment by 1 start with vMax nocycle´); close c_MovUsu; end; end;
Gostei + 0
23/05/2007
Motta
declare vMax int; vSql varchar2(100); begin declare cursor c_MovUsu is select max(codigo_mus) from avt_mov_usuario; begin open c_MovUsu; fetch c_MovUsu into vMax; if(c_MovUsu¬found) then vMax := vMax + 1; else vMax := 1; end if; vSql := ´create sequence Seq_AmuCodMus increment by 1 start with ´ || vMax || ´ nocycle´); execute immediate (vSql); close c_MovUsu; end; end;
Gostei + 0
23/05/2007
Gordonsp
Muitissimo obrigado, resolveu meu problema em 100¬.
Atenciosamente
Anderson
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)