› Fóruns › SQL e PL/SQL › update em pai e filho › update em pai e filho
[quote=”italoclone”:1pvu5y9b]Tenho que alterar um numero que o usuario cadastrou errado e o sistema jogou em varios lugares.
levantei todas as tabelas que vao ter que ser alteradas, porem estou sendo barrado por
Erro ao iniciar na linha 2 no comando
UPDATE TGFECF SET CODMAQ = 35 WHERE CODMAQ = 14 AND DTMOV >= '27/07/2001'
Relatório de erro:
Erro de SQL: ORA-02291: restrição de integridade (WTGOI2.FK_TGFECF_CODMAQ_TGFMAQ) violada - chave mãe não localizada
02291. 00000 - "integrity constraint (%s.%s) violated - parent key not found"
*Cause: A foreign key value has no matching primary key value.
*Action: Delete the foreign key or add a matching primary key.
Como transpor isso, sendo que eu tenho que atualizar a mae tambem??[/quote]
É o seguinte, você vai ter que usar um pai emprestado temporariamente, a lógica é a seguinte:
1 – Crie o pai com sua pk com um valor determinado, por exemplo 9999.
2 – Associe todos os filhos neste pai emprestado.
3 – Mude a pk do pai verdadeiro para o novo valor.
4 – Associe todos os filhos do pai emprestado para o pai verdadeiro.
5 – Delete o pai emprestado.