티스토리 뷰

DB

Oracle ORA-01401 SELECT 문에서 발생

snail voyager 2021. 10. 14. 14:29
728x90
반응형

What?

ORA-01401 : 열에 입력한 값이 너무 큽니다.
INSERT 나 UPDATE 쿼리문에서 발생할 에러가 SELECT 문에서 발생.

Why?

서브쿼리문에서 데이터를 가공하는 부분에 LISTAGG 함수를 사용.
LISTAGG 함수는 컬럼타입이 NVARCHAR2 이면 한글이 깨질 수 있는데 VARCHAR 로 캐스팅해서 사용.
컬럼 캐스팅할 때 사이즈가 컬럼 사이즈보다 작으면 ORA-01401 발생!

SELECT LISTAGG(CAST(tab.col AS VARCHAR(100)), ',')
FROM TABLE tabL
GROUP BY some_column





728x90
반응형

'DB' 카테고리의 다른 글

Pessimistic Lock vs Optimistic Lock  (0) 2022.09.05
Oracle SELECT ~ FOR UPDATE (동시성 해결)  (0) 2022.03.23
ORACLE NCHAR vs NVARCHAR2  (0) 2021.10.07
Mybatis 글자수 4000bytes 이상 ora-01461 에러  (0) 2021.02.04
Oracle 페이지 처리  (0) 2020.05.26
반응형
300x250