[firebase-br] comportamento estranho do FB após um update

Rodrigo A. de Freitas rodrigo em solucoeseinformatica.com.br
Qui Out 4 11:22:50 -03 2007


Olá pessoal!

 

Eu fiz uma alteração na minha base de dados, e o FB apresentou um
comportamento estranho. Gostaria da opinião do pessoal da lista sobre o
ocorrido:

 

Eu tenho uma tabela chamada REC_RECEB_PEDIDO, onde eu armazeno os
recebimentos de pedidos de compras (minhas notas fiscais de entrada) e outra
tabela chamada CTA_PAGAR_NOTA, onde são gravadas as duplicatas do contas à
pagar após a confirmação do processo de entrada.

 

A tabela REC_RECEB_PEDIDO possui um campo chamado COD_DOCUMENTO onde eu
gravo o ID da tabela CTA_PAGAR_NOTA, entretanto, esse campo não possuía uma
foreign key associada. Essa tabela recebeu dados durante dois anos e agora
eu preciso criar a foreign key; para isso, fiz o seguinte update para setar
os IDs que já estavam gravados mas não foram encontrados na tabela de origem
como NULL:

 

 

UPDATE REC_RECEB_PEDIDO R 

SET R.COD_DOCUMENTO = NULL

WHERE (R.COD_DOCUMENTO IS NOT NULL)

     AND (NOT EXISTS (SELECT P.CODIGO FROM CTA_PAGAR_NOTA P WHERE P.CODIGO =
R.COD_DOCUMENTO));

 

 

Rodei, commitei e até aí tudo perfeito, só que ao criar a foreign key, o
sistema acusava que existiam valores dentro da coluna COD_DOCUMENTO que
violavam a foreign key; Verifiquei duas, três vezes pela existência desses
valores mas estava tudo perfeito. 

 

Aí eu resolvi apelar: fiz um backup e um restore da base, mandei criar a
foreign key e... FUNCIONOU! Aí está a minha pergunta: Porque a foreign key
recém criada não reconheceu os UPDATES executados (mesmo depois de fechar e
abrir o banco várias vezes, ou mesmo fazer o shutdown) até que eu tenha
feito backup e restore da base ?

 

Estou utilizando a versão 2.0.1 final do FB, instalado no modo classic.

 

Atenciosamente,

 

Rodrigo A. de Freitas

Soluções & Informática

 

 

 




Mais detalhes sobre a lista de discussão lista