[firebase-br] Exclusão de mestre/detalhe (Resolvido)
Daniel Sonda
daniel em mhnet.com.br
Seg Nov 17 16:45:07 -03 2008
Resolvido tirando o "on delete cascade" e definindo uma trigger
BeforeDelete no mestre que exclui todos os itens.
Att.
Daniel Sonda
www.h2jsolucoes.com.br
Daniel Sonda escreveu:
> Pesquisando sobre o assunto, encontrei isso no Firebird Tracker
> tracker.firebirdsql.org/browse/CORE-1541
>
> Pelo que entendi, não é bug. É assim mesmo que funciona.
>
> Portanto, acho q terei que fazer a exclusão dos itens numa trigger
> before delete do mestre e abandonar o cascade delete.
>
> Vou testar e posto o resultado.
>
> Att.
> Daniel Sonda
> www.h2jsolucoes.com.br
>
>
>
> Daniel Sonda escreveu:
>> Olá pessoal!
>>
>> Identifiquei um comportamento do Firebird que achei anormal.
>>
>> Cenário:
>> - Duas tabelas num relacionamento mestre detalhe, com cascade update
>> e delete na FK do detalhe com o mestre.
>> - Trigger BeforeDelete no detalhe com acesso a dados do registro
>> mestre, usada para log de exclusão.
>>
>> Problema:
>> - Ao excluir o registro mestre, a trigger BeforeDelete dos registros
>> detalhes é disparada.
>> - Esta trigger acessa dois campos do registro mestre para gerar um
>> log de exclusão: select A, B from mestre where pk_mestre =
>> old.pk_mestre into :var_A, :var_B.
>> - Aqui está o problema: var_A e var_B sempre retornam NULL, como se
>> o registro mestre já tivesse sido excluído quando os registros
>> detalhes estão sendo excluídos. Ou seja, o mestre não é localizado.
>>
>> É assim mesmo que funciona? Ao exclui o mestre, na trigger before
>> delete dos detalhes eu não consigo mais consultar os dados do mestre?
>>
>
> ______________________________________________
> 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://firebase.com.br/pesquisa
>
> __________ Information from ESET NOD32 Antivirus, version of virus
> signature database 3619 (20081117) __________
>
> The message was checked by ESET NOD32 Antivirus.
>
> http://www.eset.com
>
>
>
Mais detalhes sobre a lista de discussão lista