[ORACLE] ORA-30004 SYS_CONNECT_BY_PATH 오류
오류
ORA-30004: when using SYS_CONNECT_BY_PATH function, cannot have separator as part of column value
원인
컬럼 값에 있는 것을 구분자로 사용할 수 없다.
SYS_CONNECT_BY_PATH (ID, '+')
라고 가정 할 때
ID컬럼의 값이 구분자 +
를 포함하고 있어서 혼란이 왔기 때문이다.
예를들어 ID컬럼 값이 아이디1+
이면 해당 오류 발생
해결
컬럼값을 조정하거나 구분자를 조정하면 간단하게 해결된다.
EX)
컬럼값 조정 : SYS_CONNECT_BY_PATH (REPLACE(ID,’+’,’-‘), ‘+’) ==> 값 중 ‘+’를 ‘-‘로 바꾼 뒤 실행
구분자 조정 : SYS_CONNECT_BY_PATH (ID, ‘-‘) ==> 구분자를 ‘-‘로 교체