結果セットは、特定の条件に一致するデータ ソース上の行のセットです。 これは、クエリから得られ、表形式でアプリケーションで使用できる概念テーブルです。 SELECT ステートメント、カタログ関数、および一部のプロシージャーは結果セットを作成します。 次の例では、最初の SQL ステートメントは Orders テーブル内のすべての行とすべての列を含む結果セットを作成し、2 番目の SQL ステートメントは、Status が OPEN である Orders テーブルの行の OrderID、SalesPerson、および Status 列を含む結果セットを作成します。
SELECT * FROM Orders
SELECT OrderID, SalesPerson, Status FROM Orders WHERE Status = 'OPEN'
結果セットは空にすることができます。これは、結果セットがまったくない場合とは異なります。 たとえば、次の SQL ステートメントでは空の結果セットが作成されます。
SELECT * FROM Orders WHERE 1 = 2
空の結果セットは、行がない点を除き、他の結果セットと同じです。 たとえば、アプリケーションは結果セットのメタデータを取得でき、行のフェッチを試みることができ、結果セットの上のカーソルを閉じる必要があります。
データ ソースから行を取得してアプリケーションに返すプロセスは、 フェッチと呼ばれます。 このセクションでは、そのプロセスの基本的な部分について説明します。 ブロックカーソルやスクロール可能カーソルなど、より高度なトピックについては、「 ブロック カーソルと スクロール可能カーソル」を参照してください。 行の更新、削除、挿入の詳細については、「 データの更新の概要」を参照してください。
このセクションでは、次のトピックを扱います。