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

Trigger não consegue ler a tabela, após ser disparado pela mesma tabela


Se você está tentando registrar o ONO que acabou de inserir, use :new.ono e pule a seleção completamente:
INSERT INTO BACKUP_ONO VALUES( VALUE1, VALUE2,VALUE3, :new.ono);

Eu não acredito que você possa selecionar a partir da tabela que você está no meio da inserção, pois o commit ainda não foi emitido, daí o erro da tabela de mutação.

P.S. Considere não abreviar. Deixe claro para o próximo desenvolvedor e chame-o de ORDER_NUMBER ou pelo menos uma abreviação geralmente aceita como ORDER_NBR, quaisquer que sejam os padrões de nomenclatura de sua empresa. :-)

FYI - Se você estiver atualizando, você pode acessar :OLD.column também, o valor antes da atualização (claro se a coluna não for uma coluna de chave primária).