CREATE TYPE (ネスト表) ステートメント (PL/SQL)
CREATE TYPE (ネスト表) ステートメントは、INTEGER データ・タイプを添字とする連想配列を定義します。
呼び出し方法
このステートメントは、 コマンド行プロセッサー (CLP)、サポートされる対話式 SQL インターフェース、アプリケーション、またはルーチンから実行できます。
許可
ステートメントの許可 ID によって保持される特権には、少なくとも以下のいずれか 1 つが含まれていなければなりません。
- ネスト表タイプのスキーマ名が存在しない場合、データベースに対する IMPLICIT_SCHEMA 権限
- ネスト表タイプのスキーマ名が既存のスキーマを参照している場合、そのスキーマに対する CREATEIN 特権
- DBADM 権限
構文
説明
- OR REPLACE
- スキーマ内に同じ名前のユーザー定義のデータ・タイプが既に存在していた場合、新しいデータ・タイプが既存のデータ・タイプと置き換わることを示します。 このオプションを指定しない場合、新しいデータ・タイプによって、同じスキーマ内の同名の既存のデータ・タイプを置き換えることはできません。
- assocarray
- 連想配列タイプの ID を指定します。
- datatype
- サポートされるデータ・タイプ (NUMBER、VARCHAR2、RECORD、 VARRAY、または連想配列タイプなど) を指定します。
例
以下の例は、EMP 表から最初の 10 人の従業員名を読み、それらをネスト表に格納した後、その内容を表示します。
SET SERVEROUTPUT ON
/
CREATE OR REPLACE TYPE emp_arr_typ IS TABLE OF VARCHAR2(10)
/
DECLARE
emp_arr emp_arr_typ;
CURSOR emp_cur IS SELECT ename FROM emp WHERE ROWNUM <= 10;
i INTEGER := 0;
BEGIN
FOR r_emp IN emp_cur LOOP
i := i + 1;
emp_arr(i) := r_emp.ename;
END LOOP;
FOR j IN 1..10 LOOP
DBMS_OUTPUT.PUT_LINE(emp_arr(j));
END LOOP;
END
/