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

SAP Sybase SQL Anywhere 16.0 » SQL Anywhere サーバ プログラミング » SQL を使用したアプリケーション開発

 

結果セット記述子

アプリケーションによっては、アプリケーション内で完全に指定できない SQL 文を構築するものがあります。ユーザが表示するカラムを選択できるレポートアプリケーションなど、文がユーザからの応答に依存していて、ユーザの応答がないと、アプリケーションが検索する情報を正確に把握できない場合があります。

そのような場合、アプリケーションは、「結果セット」の性質と結果セットの内容の両方についての情報を検索する方法を必要とします。結果セットの性質についての情報を「記述子」と呼びます。記述子を用いて、返されるカラムの数や型を含むデータ構造体を識別します。アプリケーションが結果セットの性質を認識していると、内容の検索が簡単に行えます。

この「結果セットメタデータ」 (データの性質と内容に関する情報) は記述子を使用して操作します。結果セットのメタデータを取得し、管理することを「記述」と呼びます。

通常はカーソルが結果セットを生成するので、記述子とカーソルは密接にリンクしています。ただし、記述子の使用をユーザに見えないように隠しているインタフェースもあります。通常、記述子を必要とする文は SELECT 文か、結果セットを返すストアドプロシージャのどちらかです。

カーソルベースの操作で記述子を使う手順は次のとおりです。

  1. 記述子を割り付けます。インタフェースによっては明示的割り付けが認められているものもありますが、ここでは暗黙的に行います。

  2. 文を準備します。

  3. 文を記述します。文がストアドプロシージャの呼び出しかバッチであり、結果セットがプロシージャ定義において RESULT 句によって定義されていない場合、カーソルを開いてから記述を行います。

  4. 文 (Embedded SQL) に対してカーソルを宣言して開くか、文を実行します。

  5. 必要に応じて記述子を取得し、割り付けられた領域を修正します。多くの場合これは暗黙的に実行されます。

  6. 文の結果をフェッチし、処理します。

  7. 記述子の割り付けを解除します。

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

  9. 文を削除します。これはインタフェースによっては自動的に行われます。

 実装の注意