Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 12.0.1 » SQL Anywhere サーバー プログラミング » アプリケーションでの SQL の使用 » カーソルタイプ

 

カーソルのプロパティ

カーソルタイプは、プログラミングインターフェイスから明示的または暗黙的に要求します。インターフェイスライブラリが異なれば、使用できるカーソルタイプは異なります。たとえば、JDBC と ODBC では使用できるカーソルタイプは異なります。

各カーソルタイプは、複数の特性によって定義されます。

  • 一意性   カーソルがユニークであることを宣言すると、クエリは、各ローをユニークに識別するために必要なすべてのカラムを返すように設定されます。これは、プライマリキー内にあるすべてのカラムを返すということをしばしば意味します。必要だが指定されないすべてのカラムは結果セットに追加されます。デフォルトでは、カーソルタイプは非ユニークです。

  • 更新可能性   読み込み専用として宣言されたカーソルは、位置付け更新と位置付け削除のどちらの操作でも使用されません。デフォルトでは、更新可能のカーソルタイプに設定されています。

  • スクロール動作   結果セットを移動するときにカーソルが異なる動作をするように宣言できます。カーソルによっては、現在のローまたはその次のローしかフェッチできません。結果セットを後方に移動したり、前方に移動したりできるカーソルもあります。

  • 感知性   データベースに加えた変更を、カーソルを使用して表示/非表示にすることができます。

これらの特性に応じて、パフォーマンスやデータベースサーバーでのメモリ使用量にかなりの影響をもたらすことがあります。

SQL Anywhere では、さまざまな特性を持つカーソルを使用できます。特定のタイプのカーソルを要求すると、SQL Anywhere は、その特性を一致させるよう試みます。

特性を全部指定できない場合もあります。たとえば、SQL Anywhere の insensitive カーソルは読み込み専用です。それは、更新可能な insensitive カーソルをアプリケーションが要求すると、代わりに、別のカーソルタイプ (value-sensitive カーソル) が指定されるからです。