티스토리 뷰

SQL Developer에서 출력되는 오류 메세지:

ORA-01489: 문자열 연결의 결과가 너무 깁니다
01489. 00000 -  "result of string concatenation is too long"
*Cause:    String concatenation result is more than the maximum size.
*Action:   Make sure that the result is less than the maximum size


LISTAGG 최대 4000 BYTE 기준을 초과한 건가 싶어서 확인해보았다. 하지만 파일명 최대길이는 171자 였고, 한 게시글당 최대 파일 개수는 3개였다. 513자는 4000 BYTE가 되지 않는다. 결국 LISTAGG 조건에서 오류를 찾았다.

SELECT COLM_GROUP_BY,
        LISTAGG (COLM_TARGET, '|')
           WITHIN GROUP (ORDER BY COLM_ORDER_BY)
           AS COLM_TARGET
   FROM TABLE_NAME
  WHERE COLM_GROUP_BY IS NOT NULL
GROUP BY COLM_GROUP_BY

LISTAGG 함수 사용 시 GROUP BY 컬럼이 NULL인 값이 있어서 오류가 발생했었다. WHERE 문을 추가해주었더니 오류가 해결됐다.

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday