Sybaseサーバー側言語で、コードがチェーンモードまたは非チェーン(自動コミット)モードで実行されているかどうかをコードでテストするにはどうすればよいですか?
@@TRANCOUNT
のステータスの調査は、決定的なものではありません。
たとえば、JDBCが getAutoCommit を提供して、接続が自動コミット(非連鎖)モードであるかどうかを検出できるようにする方法があるはずだと私は思います。しかし、ストアドプロシージャ内からそれを行うにはどうすればよいですか?
この質問 は見つかりましたが、SQL Serverに対してのみ回答するようです。
Sybase ASEのデフォルトモードはチェインされていません。
SELECT @@tranchained;
を使用して、現在のセッションのトランザクションチェーンモードのステータスを確認できます。
結果は次のように0または1になります。
0 = unchained
1 = chained
トランザクションチェーンモードはSET CHAINED ON;
またはSET CHAINED OFF;
で変更できます