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

SQL Anywhere 11.0.1 (日本語) » SQL Anywhere サーバ - プログラミング » SQL Anywhere でのプログラミングの概要 » アプリケーションでの SQL の使用 » カーソルを使用した操作

 

カーソルの使い方

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

♦  カーソルを使用するには、次の手順に従います (ADO.NET、ODBC、JDBC、Open Client)。
  1. 文を準備して実行します。

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

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

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

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

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

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

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

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

  5. 文を開放します。

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

♦  カーソルを使用するには、次の手順に従います (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 でのカーソルの使用については、データのフェッチを参照してください。

ローのプリフェッチ

場合によっては、インタフェース・ライブラリがパフォーマンスの最適化を (結果のプリフェッチのように) 内部で実行するので、クライアント・アプリケーションの手順はソフトウェアの操作と完全には一致していません。