Embedded SQL でのカーソルの使用法は他のインターフェイスとは異なります。
文を準備します。
通常、カーソルでは文字列ではなくステートメントハンドルが使用されます。ハンドルを使用可能にするために、文を準備する必要があります。
文の準備方法については、準備文を参照してください。
カーソルを宣言します。
各カーソルは、単一の SELECT 文か CALL 文を参照します。カーソルを宣言するとき、カーソル名と参照した文を入力します。
詳細については、DECLARE CURSOR 文 [ESQL] [SP]を参照してください。
カーソルを開きます。OPEN 文 [ESQL] [SP]を参照してください。
CALL 文の場合、カーソルを開くと、1 番目のローが取得されるポイントまでプロシージャーが実行されます。
結果をフェッチします。
簡単なフェッチを行うと、結果セット内の次のローへカーソルが移動しますが、SQL Anywhere では結果セットでより複雑な移動が可能です。どのフェッチが実行可能であるかは、カーソルの宣言方法によって決定されます。FETCH 文 [ESQL] [SP]とデータのフェッチを参照してください。
カーソルを閉じます。
カーソルでの作業が終わったら、カーソルを閉じます。これにより、カーソルに関連付けられているリソースが解放されます。CLOSE 文 [ESQL] [SP]を参照してください。
文を削除します。
文に関連付けられているメモリを解放するには、文を削除する必要があります。DROP STATEMENT 文 [ESQL]を参照してください。
Embedded SQL でのカーソルの使用については、データのフェッチを参照してください。
文を準備して実行します。
インターフェイスの通常の方法を使用して文を実行します。文を準備して実行するか、文を直接実行します。
ADO.NET の場合、SACommand.ExecuteReader メソッドのみがカーソルを返します。このコマンドは、読み込み専用、前方専用のカーソルを提供します。
文が結果セットを返すかどうかを確認するためにテストします。
結果セットを作成する文を実行する場合、カーソルは暗黙的に開きます。カーソルが開かれると、結果セットの第 1 ローの前に配置されます。
結果をフェッチします。
簡単なフェッチを行うと、結果セット内の次のローへカーソルが移動しますが、SQL Anywhere では結果セットでより複雑な移動が可能です。
カーソルを閉じます。
カーソルでの作業が終了したら、閉じて関連するリソースを解放します。
文を解放します。
準備した文を使った場合は、それを解放してメモリを再利用します。
![]() |
DocCommentXchange で意見交換できます
|
Copyright © 2012, iAnywhere Solutions, Inc. - SQL Anywhere 12.0.1 |