Дублируйте имя столбца При вставке данных в представлениях объекта
-
21-12-2019 - |
Вопрос
Я создал вид объекта из существующей реляционной таблицы, когда я пытаюсь вставить данные в таблицу, используя просмотр, я получаю ошибку.Хотя я могу вставить данные в таблицу студентов в реляционном порядке
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;
.
Затем попробуйте вставить данные в представление.
Не связан с StackOverflow