오류

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, ‘-‘) ==> 구분자를 ‘-‘로 교체