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

Exceção PDO não sendo lançada para erros de gatilho


É impossível. Triggers (e eventos) são executados no banco de dados com base nas ações do banco de dados e não estão diretamente vinculados à sua consulta - pelo menos como visto no lado do PHP. Sua consulta PDO está sendo bem-sucedida e isso é tudo que sua instrução saberá, o fato de um gatilho ter sido configurado para fazer algo com base nos resultados de qualquer coisa que sua instrução tenha feito em alguma tabela é irrelevante.

As opções que você tem são:
  1. escrever outra consulta para confirmar o sucesso de tudo o que o acionador deveria fazer
  2. possivelmente envolva a consulta inicial em um procedimento armazenado que executa a consulta e verifica o sucesso da ação do gatilho. Em seguida, chame esse proc armazenado em vez de executar a consulta diretamente.