Pular para o conteúdo

Fóruns SQL e PL/SQL update em pai e filho update em pai e filho

#100219
italoclone
Participante

    [quote=”rman”:254mws2r][quote=”italoclone”:254mws2r]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.[/quote]

    meu nivel é muito baixo,

    como eu vou associar todos os filhos ao pai emprestado (comando)?

    e se em vez disso eu criar um pai novo com a pk que eu quero, pq é justamente a pk que esta errada?

    Oralce 10g