Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 12.0.1 » SQL Anywhere サーバー プログラミング » アプリケーションでの SQL の使用 » カーソルを使用した操作

 

カーソルの使い方

Embedded SQL でのカーソルの使用法は他のインターフェイスとは異なります。

 ♦ カーソルの使用 (Embedded SQL)
  1. 文を準備します。

    通常、カーソルでは文字列ではなくステートメントハンドルが使用されます。ハンドルを使用可能にするために、文を準備する必要があります。

    文の準備方法については、準備文を参照してください。

  2. カーソルを宣言します。

    各カーソルは、単一の SELECT 文か CALL 文を参照します。カーソルを宣言するとき、カーソル名と参照した文を入力します。

    詳細については、DECLARE CURSOR 文 [ESQL] [SP]を参照してください。

  3. カーソルを開きます。OPEN 文 [ESQL] [SP]を参照してください。

    CALL 文の場合、カーソルを開くと、1 番目のローが取得されるポイントまでプロシージャーが実行されます。

  4. 結果をフェッチします。

    簡単なフェッチを行うと、結果セット内の次のローへカーソルが移動しますが、SQL Anywhere では結果セットでより複雑な移動が可能です。どのフェッチが実行可能であるかは、カーソルの宣言方法によって決定されます。FETCH 文 [ESQL] [SP]データのフェッチを参照してください。

  5. カーソルを閉じます。

    カーソルでの作業が終わったら、カーソルを閉じます。これにより、カーソルに関連付けられているリソースが解放されます。CLOSE 文 [ESQL] [SP]を参照してください。

  6. 文を削除します。

    文に関連付けられているメモリを解放するには、文を削除する必要があります。DROP STATEMENT 文 [ESQL]を参照してください。

Embedded SQL でのカーソルの使用については、データのフェッチを参照してください。

 ♦ カーソルの使用 (ADO.NET、ODBC、JDBC、Open Client)
  1. 文を準備して実行します。

    インターフェイスの通常の方法を使用して文を実行します。文を準備して実行するか、文を直接実行します。

    ADO.NET の場合、SACommand.ExecuteReader メソッドのみがカーソルを返します。このコマンドは、読み込み専用、前方専用のカーソルを提供します。

  2. 文が結果セットを返すかどうかを確認するためにテストします。

    結果セットを作成する文を実行する場合、カーソルは暗黙的に開きます。カーソルが開かれると、結果セットの第 1 ローの前に配置されます。

  3. 結果をフェッチします。

    簡単なフェッチを行うと、結果セット内の次のローへカーソルが移動しますが、SQL Anywhere では結果セットでより複雑な移動が可能です。

  4. カーソルを閉じます。

    カーソルでの作業が終了したら、閉じて関連するリソースを解放します。

  5. 文を解放します。

    準備した文を使った場合は、それを解放してメモリを再利用します。