【问题标题】: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
                       )
                )
      )

【问题讨论】:

    标签: mysql sql oracle views object-oriented-database


    【解决方案1】:

    在创建视图时,您两次选择了 studId。

    试试这个...创建视图。

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

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

    【讨论】:

      猜你喜欢
      • 2014-12-27
      • 1970-01-01
      • 1970-01-01
      • 2017-07-17
      • 1970-01-01
      • 2023-03-08
      • 1970-01-01
      • 1970-01-01
      • 2018-02-03
      相关资源
      最近更新 更多