以下に示すいくつかのタイプを使用します。
CREATE TYPE Course_objtype AS OBJECT (
Course_code VARCHAR2(4),
Course_name VARCHAR2(200),
Study_mode CHAR(2),
Campus REF Campus_list,
Faculty REF Faculty_list,
Director REF Staff_list
);
CREATE TYPE Campus_objtype AS OBJECT (
Campus_ID NUMBER,
Campus_code CHAR(1),
Campus_name VARCHAR2(11),
Phone_Number VARCHAR(20),
Address Address_objtype
);
CREATE TYPE Faculty_objtype AS OBJECT (
Faculty_ID NUMBER,
Faculty_Name VARCHAR(200)
);
CREATE TYPE Staff_objtype AS OBJECT(
Staff_ID VARCHAR(7),
Person Person_objtype,
Staff_email VARCHAR2(200),
Office VARCHAR2(6),
Phone VARCHAR2(20),
Position VARCHAR2(15)
);
上記のタイプにリンクされたテーブルから値を継承して、Course_list というテーブルに以下の値を挿入しようとしています。
INSERT INTO Course_list VALUES (
'2136','Computing','FT',
(SELECT REF(d) FROM Campus_list d WHERE d.Campus_code = 'C'),
(SELECT REF(a) FROM Faculty_list a WHERE a.Faculty_ID = '3'),
(SELECT REF(n) FROM Staff_list n WHERE n.Staff_ID = 'E129675')
);
これにより、次のエラーが返されます。
ORA-22979: オブジェクト・ビューREFまたはユーザー定義REFをINSERTできません
何かご意見は?私は無知です:(