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

Wann schlägt eine PREPARE QUERY in PRO C fehl?

Ich habe in der Vergangenheit VIEL pro*c geschrieben und im Laufe der Zeit festgestellt, dass Sie den Rückgabecode der PREPARE-Anweisung nicht überprüfen möchten, da er niemals einen Wert zurückgibt. Folgendes meine ich:

Der Wert von PREPARE sqlca.sqlcode ist der Rückkehrcode der Anweisung, die unmittelbar VOR der Anweisung PREPARE ausgeführt wurde. Mit anderen Worten, wenn Sie die Ausgabe der PREPARE-Anweisung und der Anweisung überprüfen, die unmittelbar vor dem Fehlschlagen der PREPARE-Anweisung ausgeführt wurde, ist der Rückkehrcode der Vorbereitung fehlgeschlagen. Wenn die vorherige Anweisung erfolgreich war, scheint PREPARE erfolgreich gewesen zu sein.

Mit anderen Worten, der Wert von "prepare sqlca.sqlcode" ist im Grunde nichts (er schlägt niemals alleine fehl). Wenn also PREPARE jetzt fehlschlägt, überprüfen Sie die Anweisung, die direkt vor der PREPARE-Anweisung ausgeführt wurde, und stellen Sie sicher, dass Sie den sqlca.sqlcode-Wert dieser Anweisung überprüfen. Meine Wette ist, dass die vorherige Anweisung fehlschlägt und der zurückgegebene Fehler sich auf diese Anweisung bezieht. Sinnvoll?

-Jim