객체 뷰에 데이터를 삽입 할 때 열 이름이 복제됩니다
-
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