SQLは集合演算向きの言語であるため、従来のアプリケーション開発言語で結果表を処理するためには、中間的なメカニズムが必要です。そのメカニズムがカーソルです。
カーソルは、アプリケーション プログラムで結果表内を移動するために使用するポインタです。
SELECT要求でカーソルを宣言し、そのカーソルをオープンします。カーソルをオープンすることにより、SQL要求が実行されます。
各行は、FETCH INTO文によって個別に取り出され、ホスト変数に書き込まれます。アプリケーションでは、このホスト変数を使用して計算を行ないます。
カーソルは、SQL問合わせでアクセスされる最初の行をマークしたりタグ付けしたりするために、Teradataプリプロセッサ2で使用されます。プリプロセッサ2は、必要に応じてカーソルを繰り上げます。
SQLストアド プロシージャでは、次のカーソルが使用されます。
- 結果行を1行ずつ取り出すカーソル。その後、各行の必要に応じてSQL文およびSQL制御文を実行します。ストアド プロシージャのローカル変数またはパラメータを、計算に使用できます。
- ストアド プロシージャで実行されたSELECT文の結果を呼び出し側やクライアント アプリケーションに返す結果セット カーソル。