有下面一个关系:create or replace TYPE Person_T AS OBJECT
(
personID VARCHAR2(10),
name VARCHAR2(20)) NOT FINAL
/
create or replace TYPE Client_T UNDER Person_T
(
address VARCHAR2(50),
email VARCHAR2(20))
/
create or replace TYPE Order_T AS OBJECT
(
orderID VARCHAR2(10),
client REF Client_T)
/CREATE TABLE Person OF Person_T
( personID NOT NULL,
PRIMARY KEY (personID));CREATE TABLE OrderList OF Order_T
( orderID NOT NULL,
PRIMARY KEY (orderID));
现在往Person表插入一条数据insert into Person values(Client_T('001','CSDN','Beijing, China','[email protected]'));
现在的问题是,如何用insert into语句往OrderList表插入一条数据?望请高人指点!我曾使用如下代码插入,错误提示为: SQL Error: ORA-00932: inconsistent datatypes: expected REF BI.CLIENT_T got REF BI.PERSON_Tinsert into OrderList values('order001',
(select ref(p) from person p where p.personID = '001'));
(
personID VARCHAR2(10),
name VARCHAR2(20)) NOT FINAL
/
create or replace TYPE Client_T UNDER Person_T
(
address VARCHAR2(50),
email VARCHAR2(20))
/
create or replace TYPE Order_T AS OBJECT
(
orderID VARCHAR2(10),
client REF Client_T)
/CREATE TABLE Person OF Person_T
( personID NOT NULL,
PRIMARY KEY (personID));CREATE TABLE OrderList OF Order_T
( orderID NOT NULL,
PRIMARY KEY (orderID));
现在往Person表插入一条数据insert into Person values(Client_T('001','CSDN','Beijing, China','[email protected]'));
现在的问题是,如何用insert into语句往OrderList表插入一条数据?望请高人指点!我曾使用如下代码插入,错误提示为: SQL Error: ORA-00932: inconsistent datatypes: expected REF BI.CLIENT_T got REF BI.PERSON_Tinsert into OrderList values('order001',
(select ref(p) from person p where p.personID = '001'));
解决方案 »
- oracle 中 sysdate 不改名,怎么进行正确sql 查询,有语句如下:
- 有什么书是讲关于Oracle的效率的
- java怎么与实现oracle连接,我的怎么不好使啊
- 求一句SQL!
- 第一次写Oracle触发器,不太会写,请帮忙啊。
- oracle10G 2.0客户端连接不上
- 在unix 下,oracle 数据库服务器更改了ip地址了,需要更改什么文件,才能够重新启动?
- 一个基本概念问题!关于oracle中的数据库和方案!
- 关于ORACLE 9i的安装问题,请大家帮帮忙,谢了
- 数据库导入和导出时提示出错?
- 超级超级慢的一个查询语句,待优化,在此谢谢高手指导
- 关于将查询结果显示成复杂形式的表格,如何处理
这句代码不行啊,oracle 11g还是报错,错误报告如下:Error starting at line 1 in command:
insert into OrderList select 'order001',ref(p) from person p where p.personID = '001'
Error at Command Line:1 Column:44
Error report:
SQL Error: ORA-00932: inconsistent datatypes: expected REF SYSTEM.CLIENT_T got REF SYSTEM.PERSON_T
00932. 00000 - "inconsistent datatypes: expected %s got %s"
http://topic.csdn.net/u/20070907/17/f25e8f24-c0e8-44ac-8a3b-68d5822bf305.html
insert into OrderList select 'order001',p.* from person p where p.personID = '001';
把
CREATE TABLE Person OF Person_T
( personID NOT NULL,
PRIMARY KEY (personID));
改为
CREATE TABLE Person OF Client_T
( personID NOT NULL,
PRIMARY KEY (personID));
就可以了。。