Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

recebendo erro ORA-00907 ao criar uma tabela no desenvolvedor sql


Suponho que você esteja tentando garantir que o Book os registros são atualizados sempre que você altera o Pname coluna no Publisher tabela, mas o Oracle não tem on update cascade .

Veja aqui para o diagrama de sintaxe das references cláusula.

Para alterar as chaves primárias no Oracle, você tem algumas opções:

  • Adie a restrição (chave estrangeira) verifique até a confirmação e, em seguida, atualize o pai e o filho dentro da transação.

  • Crie um novo pai com os detalhes atualizados, altere todos os filhos e exclua o pai original. Tudo em uma transação, é claro.

  • Pare de usar dados mutáveis ​​como chave. Demorou muito para os DBAs me convencerem de que chaves artificiais (substitutas) deveriam ser usadas em vez de dados verdadeiros, mas esse foi o caso de uso que finalmente me conquistou. Usar uma chave artificial (que nunca precisa mudar) significa que esse problema desaparece totalmente.