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’