web-dev-qa-db-ja.com

現在、連鎖モードか非連鎖モードかを知る方法

Sybaseサーバー側言語で、コードがチェーンモードまたは非チェーン(自動コミット)モードで実行されているかどうかをコードでテストするにはどうすればよいですか?

@@TRANCOUNTのステータスの調査は、決定的なものではありません。

たとえば、JDBCが getAutoCommit を提供して、接続が自動コミット(非連鎖)モードであるかどうかを検出できるようにする方法があるはずだと私は思います。しかし、ストアドプロシージャ内からそれを行うにはどうすればよいですか?

この質問 は見つかりましたが、SQL Serverに対してのみ回答するようです。

Sybase ASEのデフォルトモードはチェインされていません。

SELECT @@tranchained;を使用して、現在のセッションのトランザクションチェーンモードのステータスを確認できます。

結果は次のように0または1になります。

0 = unchained
1 = chained

トランザクションチェーンモードはSET CHAINED ON;またはSET CHAINED OFF;で変更できます

2
Max Vernon