Pessoal estou com um problema com o auto incremento em tabelas do Firebird (IBExpert), vou explicar o que está acontecendo:
Tenho uma tabela ItensVendas e uma ItensVendasTEMP, o usuário adiciona itens na ItensVendasTEMP e após inserir todos os itens ele finaliza a venda (neste momento é executada uma Stored Procedure no Firebird, que grava os itens da tabela ItensVendasTEMP para a ItensVendas e depois realiza um delete na ItensVendasTEMP).
O que acontece: Após eu realizar um delete o auto-incremento da ItensVendasTEMP começa a contar do 1, e na proxima vez que eu for gravar os registros na ItensVendas ocorre "violação de chave", pois ela já possui estes valores.
Exemplo:
ItensVendaTemp: (depois de executar a procedure que grava e depois deleta)
Cod Produto
1 Coca-cola
2 Cachorro quente
3 Mouse
ItensVenda (Observem que esta tabela já possui os valores Codigo gerados na venda anterior)
Cod Produto
1 Placa-mãe PCChips
2 Processador Intel
3 Banana
Espero ter explicado bem detalhadamente, mas resumindo é o sequinte:
Mesmo deletando os registros da tabela temporária preciso manter o campo CÒDIGO na mesma sequência.
(no SQL 2000 mesmo ao apagar todos os registros, ao inserir outro, ele segue a seqência do último apagado)
Pergunta
Gaabi Motta
Pessoal estou com um problema com o auto incremento em tabelas do Firebird (IBExpert), vou explicar o que está acontecendo:
Tenho uma tabela ItensVendas e uma ItensVendasTEMP, o usuário adiciona itens na ItensVendasTEMP e após inserir todos os itens ele finaliza a venda (neste momento é executada uma Stored Procedure no Firebird, que grava os itens da tabela ItensVendasTEMP para a ItensVendas e depois realiza um delete na ItensVendasTEMP).
O que acontece: Após eu realizar um delete o auto-incremento da ItensVendasTEMP começa a contar do 1, e na proxima vez que eu for gravar os registros na ItensVendas ocorre "violação de chave", pois ela já possui estes valores.
Exemplo:
ItensVendaTemp: (depois de executar a procedure que grava e depois deleta)
Cod Produto
1 Coca-cola
2 Cachorro quente
3 Mouse
ItensVenda (Observem que esta tabela já possui os valores Codigo gerados na venda anterior)
Cod Produto
1 Placa-mãe PCChips
2 Processador Intel
3 Banana
Espero ter explicado bem detalhadamente, mas resumindo é o sequinte:
Mesmo deletando os registros da tabela temporária preciso manter o campo CÒDIGO na mesma sequência.
(no SQL 2000 mesmo ao apagar todos os registros, ao inserir outro, ele segue a seqência do último apagado)
alguém tem uma solução?
Link para o comentário
Compartilhar em outros sites
8 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.