Sql 未显示添加属性的子类型对象的超类型表
我试图创建一个包含子类型对象的超类型对象表,但运行insert once后的底线显示了插入的前两个属性SSN和name。甲骨文快递最近刚刚坏了吗?还是我的代码有问题Sql 未显示添加属性的子类型对象的超类型表,sql,oracle,oracle-xe,Sql,Oracle,Oracle Xe,我试图创建一个包含子类型对象的超类型对象表,但运行insert once后的底线显示了插入的前两个属性SSN和name。甲骨文快递最近刚刚坏了吗?还是我的代码有问题 create or replace type PersonType as object ( SSN number (9), name varchar2(30)) Instantiable NOT Final; create or replace type TenantType under PersonType (
create or replace type PersonType as object (
SSN number (9),
name varchar2(30))
Instantiable
NOT Final;
create or replace type TenantType under PersonType (
aptNum REF ApartmentType,
phone number(10),
car varchar2(15),
contract varchar2(10));
Instantiable
Final;
create or replace type EmployeeType under PersonType (
empId number(4),
empAdr varchar2(40));
Instantiable
Final;
create table P1 of PersonType (
constraint P1_SSN_pk Primary Key (SSN));
insert into P1 values(TenantType(956785252, 'Jerry Wilson', (select ref(a) from A1 a where aptNum = 110), 8015167895, 'Toyota', '8 months'));
如果运行“简单选择”,则会看到超类型的公共值。创建类型时,可以添加成员函数以不同方式显示子类型,也可以使用: 您有打字错误(类型定义中不必要的分号),并且缺少
ApartmentType
和表a1
的定义,因此以下是我的测试数据:
下面是提到的成员函数show()
的示例:
select treat(value(p) as tenanttype) from p1 p where p.ssn = 956785252