Oracle
 sql >> Base de données >  >> RDS >> Oracle

L'exception PDO n'est pas levée pour les erreurs de déclenchement

C'est impossible. Les déclencheurs (et les événements) sont exécutés sur la base de données en fonction des actions de la base de données et ne sont pas directement liés à votre requête, du moins comme on le voit du côté PHP. Votre requête PDO réussit et c'est tout ce que votre instruction saura jamais, le fait qu'un déclencheur ait été configuré pour faire quelque chose en fonction des résultats de ce que votre instruction a fait à une table n'est pas pertinent.

Les options que vous avez sont :

  1. écrivez une autre requête pour confirmer le succès de tout ce que le déclencheur était censé faire
  2. encapsuler éventuellement la requête initiale dans une procédure stockée qui exécute la requête et vérifie le succès de l'action du déclencheur. Appelez ensuite cette procédure stockée au lieu d'exécuter la requête directement.