USER라는 테이블을 생성합니다.
CREATE TABLE USER (
ID VARCHAR2(10)
);
이 간단한 DDL은 ORA-00903: invalid table name
오류를 냅니다. 그 이유는 테이블명을 오라클 예약어로 사용했기때문입니다.
CREATE TABLE "USER" (
ID VARCHAR2(10)
);
위와 같이 쌍따옴표(")로 감싸주면 됩니다. 하지만 테이블을 조회해보면 같은 오류가 발생합니다. 이 역시 쌍따옴표(")로 감싸주면 되지만 매번 이러기 불편합니다. 이런경우 예약어를 피해서 테이블명을 만들어주는 것이 편할 수 있습니다.
SELECT * FROM V$RESERVED_WORDS
위의 쿼리를 통해 예약어를 확인 할 수 있습니다.
또한 테이블 생성시 ORA-00904: invalid identifier
의 발생은 컬럼명에 예약어가 들어가 있는 경우 발생 할 수 있습니다.
반응형
'Database > Oracle' 카테고리의 다른 글
[Oracle] LAG, LEAD 알아보기 (0) | 2022.01.06 |
---|---|
[ORACLE] ORA-00907 missing right parenthesis (0) | 2020.09.22 |
[ORACLE] DDL, DML, DCL (0) | 2020.06.24 |