我已经从现有关系表中创建了一个对象视图,当我试图使用视图插入表格中的数据时,我收到错误。虽然我能够以关系方式将数据插入学生表

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
                       )
                )
      )
.

有帮助吗?

解决方案

在创建视图时,您选择了StudidTwice。

尝试...创建视图。

CREATE OR REPLACE VIEW StudentOv
(
StudId,
StudDEF
)
AS
SELECT StudId, MYStudent
    (
    StudName,
    MyAddress
          (
          Street,
          CityName,
          StateName,
          PinCode
          )
     )
FROM Students;
.

然后,尝试将数据插入视图。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top