TECHNOLOGY
FAQ (よくある質問)
対象バージョン : 6.0、7.0
対象OS : Windows95/98/ME ,WindowsNT/2000
QUESTION ( SQ0104004 )
SQL Anywhereのカーソルはトランザクション終了時に自動的に CLOSE するようですが、トランザクション終了後も継続してOPENな状態にすることはできますか?
ANSWER
SQL Anywhereのデフォルトでは、カーソルはトランザクション終了時に自動的にCLOSE します。 トランザクションが終了してもカーソルをOPENな状態を継続するためには、2つの方法があります。
OPEN文で WITH HOLD 句を使用する。
オプションの WITH HOLD 句は、次に実行されるトランザクションのためにカーソルを開いたままにします。カーソルは現在の接続が終了するまで、または明示的なCLOSE文が実行されるまで開いたままです。接続が終了すると、カーソルは自動的に閉じます。
構文:OPEN カーソル名 WITH HOLD
データベースオプション CLOSE_ON_ENDTRANS を OFF にする
CLOSE_ON_ENDTRANS を ON に設定すると、カーソルはトランザクションの最後で自動的に閉じます。一方、OFF に設定していると、カーソルは閉じません。 このオプションはAdaptive Server Enterpriseとの互換性オプションです。 オプションは SET OPTION文で設定できます。
構文:SET OPTION [PUBLIC.]CLOSE_ON_ENDTRANS = ‘OFF’