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