CREATE TYPE (VARRAY) ステートメント (PL/SQL)

CREATE TYPE (VARRAY) ステートメントは、VARRAY データ・タイプを定義します。

呼び出し方法

このステートメントは、Db2® コマンド行プロセッサー (CLP)、サポートされる対話式 SQL インターフェース、アプリケーション、またはルーチンから実行できます。

許可

ステートメントの許可 ID によって保持される特権には、少なくとも以下のいずれか 1 つが含まれていなければなりません。
  • VARRAY タイプのスキーマ名がない場合、データベースに対する IMPLICIT_SCHEMA 権限
  • VARRAY タイプのスキーマ名が既存のスキーマを参照する場合、スキーマに対する CREATEIN 特権
  • DBADM 権限

構文

構文図を読む構文図をスキップするCREATEOR REPLACE TYPEvarraytypeISASVARRAY(n) OFdatatype

説明

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