カーソル (データベース)
関係データベース用の問い合わせ言語として広く使われているSQLでは、カーソルを用いたアクセスのために一連のステートメントを提供している。「DECLARE CURSOR」でカーソルを宣言し、「FETCH」でカーソル位置のデータを取得するとともに次のデータに進む。データを変更する「UPDATE」や削除する「DELETE」は、「WHERE CURRENT OF カーソル名」を指定することで、カーソル位置のデータを操作できる。使用後は「CLOSE」で解放する。具体的な文法はSQL#カーソル定義・操作を参照。
C言語プログラムからSQLを使ってデータベースにアクセスするためのライブラリのひとつとしてODBCがある。ODBCはMicrosoft Windowsで広まった後、業界標準のSQL/CLIやJDBCのベースとなった。
カーソル操作に係るSQLステートメントには、以下のように個別のODBC関数が対応している。
ODBCでは、アプリケーションプログラムがカーソルを直接指定することは、ほとんどない。上記の関数はいずれも「ステートメントハンドル」(Statement Handle)を引数としており、このハンドルが指し示すデータ構造の中にカーソルも含まれているという扱いになる。すなわち、ステートメントハンドルがイテレータの役割を果たしている。