Symfoware Serverでデッドロックが発生した直後のコミット処理について

デッドロックによりSQL文のエラーが発生した直後にCOMMIT文を実行した場合、COMMIT文は正常終了していますが、トランザクションはロールバックされているようです。何が起きているのですか?
デッドロックによるエラーが発生すると、トランザクション全体がロールバックされます。このときアプリケーションがエラー判定をせずに処理を続行してエラー直後にCOMMIT文を実行した場合、COMMIT文は正常終了します。これは、SQL文が何も実行されていない状態でCOMMIT文だけを実行したことになるからです。もともと実行していたトランザクションは、デッドロックエラー発生時点でロールバックされているため、データの更新は取り消された状態になります。
製品・サービス区分 Symfoware
製品・サービス情報
対象製品 Symfoware Server (Native Interface)
プラットフォーム Windows, Solaris, Linux
アンサー種別 技術サポート
このページの先頭へ