在对象视图中插入数据时列名重复
Posted
技术标签:
【中文标题】在对象视图中插入数据时列名重复【英文标题】:Duplicate Column name When Inserting Data In Object Views 【发布时间】:2013-11-16 21:19:29 【问题描述】:我从现有关系表创建了一个对象视图,当我尝试使用视图将数据插入表中时出现错误。虽然我能够以关系方式将数据插入到学生表中
ORA-00957: duplicate column name
我的程序如下
CREATE TABLE Students
(
StudID NUMBER(6)
CONSTRAINT Students_StudID_PK PRIMARY KEY,
Sname VARCHAR2(15),
Street VARCHAR2(20),
CityName VARCHAR2(20),
StateName VARCHAR2(20),
PinCode NUMBER(6)
)
这是我创建对象视图的关系表
CREATE TYPE MyAddress
AS OBJECT
(
Street VARCHAR2(20),
CityName VARCHAR2(20),
StateName VARCHAR2(20),
PinCode NUMBER(6)
)
另一个人
CREATE TYPE MyStudent
AS OBJECT
(
Sname VARCHAR2(15),
Saddress MYAddress
)
现在对象视图已成功创建使用
CREATE OR REPLACE VIEW StudentOv
(
StudID,
StudDEF
)
AS
SELECT StudID, MYStudent
(
StudID,
MyAddress
(
Street,
CityName,
StateName,
PinCode
)
)
FROM Students
当我尝试将数据插入到视图中时,我得到了错误,任何帮助都将不胜感激。提前致谢
INSERT INTO StudentOV
VALUES(1204,
MYSTUDENT('RAMESH',
MyAddress(
'SHYAMA NAGAR',
'SECUNDERABAD',
'ANDHRA PRADESH',
500601
)
)
)
【问题讨论】:
【参考方案1】:在创建视图时,您两次选择了 studId。
试试这个...创建视图。
CREATE OR REPLACE VIEW StudentOv
(
StudId,
StudDEF
)
AS
SELECT StudId, MYStudent
(
StudName,
MyAddress
(
Street,
CityName,
StateName,
PinCode
)
)
FROM Students;
然后,尝试将数据插入到视图中。
【讨论】:
以上是关于在对象视图中插入数据时列名重复的主要内容,如果未能解决你的问题,请参考以下文章
oracle——数据表的相关操作——插入数据以及批量插入数据