Eu tenho uma pergunta um pouco estranha. Eu sei sobre inserir na atualização de chave duplicada. Minha pergunta é: existe algo semelhante para exclusões que falham devido a restrições de chave estrangeira?
Por exemplo:
excluir da tabela1 onde value='something';
Porém, a tabela2 possui uma chave estrangeira que depende do valor que desejo excluir na tabela1, portanto, a exclusão falha. Eu gostaria de fazer algo assim:
excluir da tabela1 onde value='something' na chave estrangeira falha atualizar some_other_value='something else';
Sei que parece muito estranho, mas tenho um bom motivo para fazer isso (sem entrar em detalhes, tem a ver com o controle de versão de dados históricos que não podem ser destruídos caso um valor seja referenciado em outro lugar). descobrir como fazer isso com mais de uma consulta, é claro, mas gostaria de fazer isso em uma única consulta, se possível. Tenho certeza que não é possível, mas gostaria de perguntar antes de desistir :)
Obrigado!