カーソルの実装方法
ODBC アプリケーションでは SQL ステートメントを実行する前に、1 つ以上のステートメント属性を設定することにより、カーソルの動作を制御します。ODBC には、カーソルの特性を指定する方法として、次の 2 つが用意されています。
- カーソルの種類
カーソルの種類は、SQLSetStmtAttr の SQL_ATTR_CURSOR_TYPE 属性を使用して設定します。ODBC カーソルの種類には、順方向専用、静的、キーセット ドリブン、混合、および動的があります。カーソルの種類を設定することは、カーソルを指定するための ODBC 独自の方法でした。 - カーソル動作
カーソル動作は、SQLSetStmtAttr の SQL_ATTR_CURSOR_SCROLLABLE 属性と SQL_ATTR_CURSOR_SENSITIVITY 属性を使用して設定します。これらの属性は、SQL-92 標準と ISO SQL 標準で DECLARE CURSOR ステートメント用に定義された SCROLL キーワードと SENSITIVE キーワードをモデル化したものです。これら 2 つの SQL-92 オプションと ISO オプションは、ODBC Version 3.0 で導入されました。
ODBC カーソルの特性は、これら 2 つの方法のいずれかを使用して指定する必要がありますが、ODBC カーソルの種類を使用することをお勧めします。
ODBC アプリケーションではカーソルの種類を設定すること以外に、1 回のフェッチで返される行数、同時実行オプション、トランザクション分離レベルなど、他のオプションも設定します。これらのオプションは、ODBC 形式のカーソル (順方向専用、静的、キーセット ドリブン、混合、および動的) または SQL-92/ISO 形式のカーソル (スクロール可能と感度) に対して設定できます。
SQL Native Client ODBC ドライバでは、各種のカーソルを物理的に実装するためのさまざまな方法をサポートしています。このドライバでは、いくつかの種類のカーソルは SQL Server の既定の結果セットを使用して実装されます。また ODBC カーソル ライブラリを使用してサーバー カーソルとして実装される場合もあります。