[firebase-br] Problema Chave Estrangeira

Luiz Filipe Meinecke binho.lfm em gmail.com
Seg Jan 11 17:46:44 -03 2016


Hummm, obrigado na todos!!
Em 11/01/2016 17:45, "Carlos H. Cantu" <listas em warmboot.com.br> escreveu:

> Exato, nunca misture DDL e DML em uma mesma transação.
>
> A correção dessa "limitação" exige uma mudança de arquitetura no
> Firebird, e até o momento, nenhum core-developer propôs uma solução
> efetiva.
>
> O problema acontece se os objetos manipulados pela DDL são os mesmos
> (ou possuem alguma dependência/relacionamento) com os objetos
> manipulados pela DML.
>
> []s
> Carlos H. Cantu
> www.FireBase.com.br - www.firebirdnews.org
> www.warmboot.com.br - blog.firebase.com.br
>
> J> Lembro-me de ter tido problema na versão 1.0 do FB, com mistura de DDL e
> J> DML, agora nas versões superiores não sei se é possível, eu sempre
> J> evito.
>
>
> J> "I don't think, that mixing DDL and DML is a good idea..." [1]
>
>
> J> [1]
> J> http://comments.gmane.org/gmane.comp.db.firebird.dotnetprovider/7314
>
>
>
> J> Em Seg, 2016-01-11 às 16:28 -0200, Luiz Filipe Meinecke escreveu:
> >> Boa Tarde Pessoal,
> >>
> >> estou com a seguinte situação:
> >>
> >> Em uma *mesma *transação eu deleto várias chaves estrangeiras de algumas
> >> tabelas, limpo várias tabelas (delete from) e adiciono vários registros
> >> (insert).
> >>
> >> Faço desta maneira para caso ocorra algum erro, apenas realizo o
> Rollback
> >> da transação sem afetar o banco para os usuários.
> >>
> >> Porém mesmo após remover as chaves estrangeiras das tabelas envolvidas,
> >> este erro é gerado: *violation of FOREIGN KEY contraint '***unknown***'
> on
> >> table... Foreign key references are present for the record*
> >>
> >> Se eu divido a exclusão das chaves estrangeiras e limpeza das tabelas em
> >> duas transações, funciona. Mas não quero fazer isto, pois
> descaracteriza o
> >> meu objetivo.
> >>
> >> Alguém já passou por esta situação e poderia me dizer o que ocorre?
> >>
> >> Muito obrigado pela atenção!
> >>
> >> Att,
> >> Luiz
> >> ______________________________________________
> >> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> >> Para saber como gerenciar/excluir seu cadastro na lista, use:
> http://www.firebase.com.br/fb/artigo.php?id=1107
> >> Para consultar mensagens antigas:
> http://www.firebase.com.br/pesquisa_lista.html
>
>
>
> J> ______________________________________________
> J> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> J> Para saber como gerenciar/excluir seu cadastro na lista, use:
> J> http://www.firebase.com.br/fb/artigo.php?id=1107
> J> Para consultar mensagens antigas:
> J> http://www.firebase.com.br/pesquisa_lista.html
>
>
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use:
> http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas:
> http://www.firebase.com.br/pesquisa_lista.html
>



Mais detalhes sobre a lista de discussão lista