제가 스크립트를 만들어서 관련 업체에 보냈는데, 아래와 같은 에러가 난다고 연락이 왔습니다.
ORA-00918: column ambiguously defined.
ORA-00904: : invalid identifier
어떤 상황인가 하면...
제가 아래처럼 프로시져 안의 with구에 CO_DATA라고 naming을 했습니다.
예)
WITH CO_DATA AS (
SELECT * FROM SYS.DATABASE_PROPERTIES
)
SELECT CO_DATA.*
그런데, 퍼포먼스에 좀 문제가 생겨서, 아래와 같이 CO_DATA라는 실제 테이블을 작성했습니다.
CREATE TABLE CO_DATA (
ITEM_NAME VARCHAR2(50),
INFILE_DATE DATE NOT NULL,
SHIP_ID NUMBER NOT NULL,
COMM_ID NUMBER NOT NULL,
ITEM_ID NUMBER NOT NULL,
VALUE VARCHAR2(50)
);
지금 생각해보면,
실제로도 CO_DATA라는 테이블이 존재하고,
inline view로도 CO_DATA가 존재를 하니까 에러가 날 것 같기도 합니다만...
어쨌든 버젼 10g와 11g에서는 위의 에러들이 발생하지 않습니다.
현재로서 에러 원인이 확실히 이것인지 확인을 하고 싶은데, 확인이 불가능하네요.
오라클9i 이하를 사용하시는 분들께서
CO_DATA테이블을 작성하고, inline view에서도 같은 이름을 사용했을 때,
에러가 발생하는지 좀 확인해 주실 수 있으신가요? *.*
잘 부탁 드립니다. |