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))@このタスクについて
手順
タスクの結果
CREATE TYPE ステートメントが正常に実行されると、カーソル・データ・タイプがデータベースに作成されます。
例
CREATE TYPE cursorType AS empRow CURSOR@以下の例は、表 empTable と同じ形式の結果セットに関連付けることができるカーソル・データ・タイプの作成方法を示しています。
CREATE TYPE cursorType AS ANCHOR ROW OF empTable@次のタスク
カーソル・データ・タイプを作成したら、このデータ・タイプに基づいてカーソル変数を宣言することができます。