Oracle
 sql >> Datenbank >  >> RDS >> Oracle

PDO-Ausnahme wird bei Triggerfehlern nicht ausgelöst

Es ist unmöglich. Trigger (und Ereignisse) werden in der DB basierend auf DB-Aktionen ausgeführt und sind nicht direkt mit Ihrer Abfrage verknüpft – zumindest wie auf der PHP-Seite zu sehen. Ihre PDO-Abfrage ist erfolgreich und das ist alles, was Ihre Anweisung jemals wissen wird. Die Tatsache, dass ein Trigger eingerichtet wurde, um etwas auf der Grundlage der Ergebnisse dessen zu tun, was Ihre Anweisung mit einer Tabelle gemacht hat, ist irrelevant.

Sie haben folgende Optionen:

  1. Schreiben Sie eine weitere Abfrage, um den Erfolg dessen zu bestätigen, was der Trigger tun sollte
  2. Wrappen Sie die anfängliche Abfrage möglicherweise in eine gespeicherte Prozedur, die die Abfrage ausführt und den Erfolg der Triggeraktion überprüft. Rufen Sie dann diese gespeicherte Prozedur auf, anstatt die Abfrage direkt auszuführen.