CREATE TYPE (VARRAY) ステートメント (PL/SQL)
CREATE TYPE (VARRAY) ステートメントは、VARRAY データ・タイプを定義します。
呼び出し方法
このステートメントは、Db2® コマンド行プロセッサー (CLP)、サポートされる対話式 SQL インターフェース、アプリケーション、またはルーチンから実行できます。
許可
ステートメントの許可 ID によって保持される特権には、少なくとも以下のいずれか 1 つが含まれていなければなりません。
- VARRAY タイプのスキーマ名がない場合、データベースに対する IMPLICIT_SCHEMA 権限
- VARRAY タイプのスキーマ名が既存のスキーマを参照する場合、スキーマに対する CREATEIN 特権
- DBADM 権限
構文
説明
- OR REPLACE
- スキーマ内に同じ名前のユーザー定義のデータ・タイプが既に存在していた場合、新しいデータ・タイプが既存のデータ・タイプと置き換わることを示します。 このオプションを指定しない場合、新しいデータ・タイプによって、同じスキーマ内の同名の既存のデータ・タイプを置き換えることはできません。
- varraytype
- VARRAY タイプの識別子を指定します。 varraytype の非修飾書式は、最大長が 128 の SQL ID です。 CURRENT SCHEMA 特殊レジスターの値を使用して、非修飾オブジェクト名を修飾します。 varraytype の修飾書式は、スキーマ名の後にピリオド文字と SQL ID が続きます。 2 部構成の名前を指定する場合は、スキーマ名の先頭を「SYS」にすることはできません。この文字を先頭にすると、エラーが戻されます (SQLSTATE 42939)。 名前 (暗黙修飾子または明示修飾子を含む) は、カタログに記述されているユーザー定義のデータ・タイプを識別することはできません (SQLSTATE 42723)。 非修飾名は、そのスキーマ内で固有になりますが、スキーマ間で固有にする必要はありません。
- n
- 配列タイプの要素の最大数を指定します。 あるシステム上の配列の最大カーディナリティーは、Db2 アプリケーションにとって使用可能なメモリーの総量によって制限されます。 そのため、カーディナリティーの値が大きい配列 (2,147,483,647 まで) を作成できますが、すべての要素を使用できない可能性があります。
- datatype
- サポートされるデータ・タイプ (NUMBER、VARCHAR2、RECORD、VARRAY、または連想配列タイプなど)。 %TYPE 属性および %ROWTYPE 属性もサポートされます。
例
以下の例では、各要素がデータ・タイプ NUMBER を持ち、最大で 10 個の要素を持つ VARRAY データ・タイプを作成します。
CREATE TYPE NUMARRAY1 AS VARRAY (10) OF NUMBER