CREATE TYPE ステートメントを使用したカーソル・データ・タイプの作成

カーソル変数を作成するための前提条件として、カーソル・データ・タイプを作成する必要があります。 カーソル・データ・タイプは CREATE TYPE (cursor) ステートメントを使って作成されます。

始める前に

このタスクを実行するには、以下が必要です。
  • CREATE TYPE (cursor) ステートメントを実行するための特権。
  • 厳密に型付けされたカーソル・データ・タイプを作成する場合、行指定を準備するか、表、ビュー、またはカーソルの既存の行をベースとする必要があります。

CREATE TYPE (cursor) ステートメントによって定義されるカーソル・データ・タイプを SQL PL で使用すると、カーソル・データ・タイプのパラメーターとローカル変数を宣言することができます。 CREATE TYPE (cursor) ステートメントで row-type-name 節を指定すると、厳密に型付けされたカーソル・データ・タイプが作成されます。 row-type-name 節を省略した場合には、緩やかに型付けされたカーソル・データ・タイプが作成されます。

緩やかに型付けされたカーソル・データ・タイプを作成する代わりに、組み込みの緩やかに型付けされたカーソル・データ・タイプ CURSOR をカーソル変数の宣言時に使用することもできます。
CREATE TYPE weakCursorType AS CURSOR@
厳密に型付けされたカーソル・データ・タイプを作成するには、カーソルとの関連付けが可能な結果セットを定義する行データ・タイプ定義が存在しなければなりません。 明示的に定義された行データ・タイプ、表またはビュー、あるいは厳密に型付けされたカーソルから行データ・タイプ定義を派生させることができます。 行タイプ定義の例を以下に示します。
CREATE TYPE empRow AS ROW (name varchar(128), ID varchar(8))@
例えば以下のような表定義から、行タイプ定義を派生させることができます。
CREATE TABLE empTable AS ROW (name varchar(128), ID varchar(8))@

このタスクについて

厳密に型付けされたカーソル・データ・タイプをデータベース内に定義するには、SQL ステートメントの実行をサポートする任意の Db2® インターフェースから CREATE TYPE (CURSOR) ステートメントを正常に実行する必要があります。

手順

  1. 次のようにして CREATE TYPE (CURSOR) ステートメントを定式化します。
    1. タイプの名前を指定します。
    2. 次のいずれかの方法で行定義を指定します。 つまり、行データ・タイプの名前を参照するか、タイプを表またはビューにアンカーすることを指定するか、あるいは既存の厳密なカーソル・タイプに関連した結果セット定義にアンカーすることを指定するかのいずれかです。
  2. サポートされる Db2 インターフェースから CREATE TYPE ステートメントを実行します。

タスクの結果

CREATE TYPE ステートメントが正常に実行されると、カーソル・データ・タイプがデータベースに作成されます。

以下の例は、empRow 行データ・タイプと同じ形式の結果セットへの関連付けが可能な、緩やかに型付けされたカーソル・データ・タイプを作成する方法を示しています。
CREATE TYPE cursorType AS empRow CURSOR@
以下の例は、表 empTable と同じ形式の結果セットに関連付けることができるカーソル・データ・タイプの作成方法を示しています。
CREATE TYPE cursorType AS ANCHOR ROW OF empTable@

次のタスク

カーソル・データ・タイプを作成したら、このデータ・タイプに基づいてカーソル変数を宣言することができます。