ORA-02000: missing WITHIN keyword (누락된 키워드) (always, limit, value, query, columns)

ORA-02000 missing WITHIN keyword

오라클 데이터베이스 오류 'ORA-02000' 코드는 누락된 키워드와 함께 안내를 해드립니다. 예를 들면, within 키워드가 누락된 경우 'ORA-02000: missing within keyword'와 같이 표시해드릴 것입니다. 해당 현상이 발생하였을 때에는 보통 문법이 잘못된 경우가 많으므로 해당 키워드의 대상이 되는 객체를 점검해 주세요.

LISTAGG 함수는 반드시 within 절과 함께 사용하여 정렬 순서를 지정해 주어야 하는데요, 해당 키워드를 누락하는 경우 다음과 같이 오류가 발생합니다!

SELECT LISTAGG (EMPNO, ',') FROM EMP;

ORA-02000: missing WITHIN keyword

이때 within만 추가하여도 오류가 발생하는데요, 그룹 키워드가 필요하기 때문입니다. 그룹 키워드 누락에 의한 오라클 오류 코드는 'ORA-00952'입니다.

SELECT LISTAGG (EMPNO, ',') WITHIN FROM EMP;

ORA-00952: missing GROUP keyword

그룹 이후 정렬에 필요한 Order By 절을 명시해야 합니다.

SELECT LISTAGG (EMPNO, ',') WITHIN GROUP () FROM EMP;

ORA-30491: missing ORDER BY clause

다음과 같이 누락된 키워드가 없는 경우에 오류 없이 정상적으로 조회할 수 있습니다!

SELECT LISTAGG (EMPNO, ',') WITHIN GROUP (ORDER BY EMPNO) FROM EMP;

LISTAGG(EMPNO,',')WITHINGROUP(ORDERBYEMPNO)
-------------------------------------------
7369,7499,7521,7566,7654,7698,7782,7788,7839,7844,7876,7900,7902,7934
댓글 쓰기
가져가실 때, 출처 표시 부탁드려요! 감사합니다. 💗