【发布时间】:2011-11-08 18:35:21
【问题描述】:
基本上,我有一个超类型(Person)和一个子类型(学生)。我必须在 person_objtab 中插入一个学生对象。一个人对象有一个地址表的 REF,当我尝试添加新学生时,它给了我“缺少表达式”错误。这是代码,非常感谢任何帮助!
create type address_objtyp as object (
Line1 varchar2(30),
Line2 varchar2(30),
Line3 varchar2(30),
Postcode varchar2(10),
Country varchar2(20)
)
/
create type person_objtyp as object (
NI varchar2 (20),
Name varchar2(30),
Address REF address_objtyp,
Phone varchar2(30)
)
NOT FINAL
/
CREATE type student_objtyp UNDER person_objtyp (
Dept_id varchar2(10),
Course varchar2(10),
StuYear number,
Total_credits number
)
/
create table address_objtab of address_objtyp;
create table person_objtab of person_objtyp;
INSERT INTO address_objtab VALUES(
address_objtyp('9', 'Bell', 'Lancashire', ' BB52 4GF', 'the UK')
)
/
这是失败的语句:
INSERT INTO Person_objtab values
(student_objtyp
(SELECT 2222, 'Jo', REF(aa), '0161 0450 452', '10', 'Computing', '2', 220
FROM address_objtab aa
WHERE aa.postcode = ' BB52 4GF')
)
/
【问题讨论】: