RES: [oracle_br] Sequências não avançam no valor

2011-03-29 Por tôpico Akira
Tive um problema parecido com esse uns anos atrás com essa mesma versão 
10.2.0.1, porém no RedHat e no Windows. Só foi corrigido no 10.2.0.3.

Quando se fazia insert com o nextval nos values do insert diretamente, a 
sequence não funcionava.

A solução na época foi atribuir numa variável primeiro, depois usar a variável 
no insert. No meu caso foi possível, pq o problema ocorreu em alguns procedures 
dentro de packages. E não aconteceu em todos os inserts, portanto eu fui 
corrigindo reativamente.

 

Exemplo que dava erro:

 

Insert into tabela (cod, nome) values (seq.nextval, ‘teste’);

 

Ajuste q precisei fazer antes de chegar a correção:

 

Declare v_seq number;

 

Select seq.nextval into v_seq from dual;

Insert into tabela (cod, nome) values (v_seq, ‘teste’);

 

 

Akira

 

 

 

De: oracle_br@yahoogrupos.com.br [mailto:oracle_br@yahoogrupos.com.br] Em nome 
de Leonardo Santos da Mata
Enviada em: quinta-feira, 24 de março de 2011 11:08
Para: Oracle Group; Oracle Group; Oracle Group
Assunto: [oracle_br] Sequências não avançam no valor

 

  

Olá pessoal,

Está uma coisa interessante onde eu trabalho.

segue abaixo a descrição do meu ambiente:

Banco de dados: Oracle 10 g Versão 10.2.0.1.0 no Ubuntu Server
Aplicação: Java+Hibernate+Struts rodando no Tomcat no Ubuntu Server

Aconteceu o seguinte erro:

Estava dando conflito na chave primária da tabela. Daí ao pesquisar na
tabela um ultimo valor cadastrado na chave primeira era 10, por exemplo, e a
sequência que corresponde a chave primária desta tabela estava 9. Ao
executar um Nextval na sequência a aplicação voltou a funcionar
corretamente.

Alguém já passou por isso?
Como seria possível inserir os dados na tabela e valor da sequência não
avançar?

-- 
Cordialmente,
*
Leonardo *

[As partes desta mensagem que não continham texto foram removidas]





[As partes desta mensagem que não continham texto foram removidas]



Res: [oracle_br] Sequências não avançam no valor

2011-03-24 Por tôpico Anderson Almeida
Leonardo,

Verifique na sua aplicação ou em outras que acessam a mesma tabela, se existe 
algum programa que esteja executando um 'select max(campo) + 1 from tabela' e 
incluindo o registro com o valor retornado do select, ao invés de executar o 
'nextval' na sequence.

Dessa forma o valor máximo da PK seria atualizada e a sequence ficaria com um 
valor menor.

Anderson 




De: Leonardo Santos da Mata leonardodam...@gmail.com
Para: Oracle Group gpora...@yahoogrupos.com.br; Oracle Group 
oracle_br@yahoogrupos.com.br; Oracle Group 
usuarios_ora...@yahoogrupos.com.br
Enviadas: Quinta-feira, 24 de Março de 2011 11:08:08
Assunto: [oracle_br] Sequências não avançam no valor

  
Olá pessoal,

Está uma coisa  interessante onde eu trabalho.

segue abaixo a descrição do meu ambiente:

Banco de dados:  Oracle 10 g Versão 10.2.0.1.0 no Ubuntu Server
Aplicação: Java+Hibernate+Struts rodando no Tomcat no Ubuntu Server

Aconteceu o seguinte erro:

Estava dando conflito na chave primária da tabela. Daí ao pesquisar na
tabela um ultimo valor cadastrado na chave primeira era 10, por exemplo, e a
sequência que corresponde a chave primária desta tabela  estava 9. Ao
executar um Nextval na sequência a aplicação voltou a funcionar
corretamente.

Alguém já passou por isso?
Como seria possível inserir os dados na tabela e valor da sequência não
avançar?

-- 
Cordialmente,
*
Leonardo *

[As partes desta mensagem que não continham texto foram removidas]


 


  

[As partes desta mensagem que não continham texto foram removidas]