by 도지니 [Toad] [2016.11.10 11:04:15]
감사합니다 꾸벅 !
그룹바이에서 문자열을 합쳐야 합니다. - XMLAGG(9i), WM_CONCAT(10g), LISTAGG(11g) 사용해야 합니다. - http://www.gurubee.net/article/55512 계층쿼리를 이용하여 구할 수도 있습니다. - SYS_CONNECT_BY_PATH(9i) 이런것들을 제외하는 이유가 뭐가요? - 질문의 의도가 뭘까요?
오라클 9i를 사용중인데 버전이 안맞는것들 빼고 다 해봤는데..
sys_connect_by_path는 문자열 연결의 결과가 너무 깁니다 라고 나오구요(bumber형)
xmlagg도 사용해봤는데 문자열 버퍼가 너무 작습니다 라는 오류가 나옵니다...
위 링크 보시면 답변중에 해당 오류에 대한 해결방안도 있습니다.
"문자열 연결의 결과가 너무 깁니다" 는 연결문자가 4000Byte 를 넘을 때 나는 것이고. "문자열 버퍼가 너무 작습니다" 는 변수에 값을 담을 때 나는 오류입니다. 변수의 크기 및 타입을 확인해 보세요.
전체 사용 SQL 을 올려주세요.
짤막하게 끊어서 질문하지 마시고 전후사정을 종합하여 질문해 주세요.
사용하신 쿼리에 문제가 있어 보이네요. 문자열 붙이기를 수행하기 직전 소스 쿼리를 완성하셔야 할 듯 합니다. 완성된 쿼리로 문자열 붙이기를 수행하시면 될 듯 하네요. 우선 문자열 붙이기 없는 상태의 쿼리를 완성시켜 보세요.
수행 전 쿼리 중간중간에 문자열 합치기 코드를 삽입하지 마시고.
수행 전 쿼리를 가지고 최종적으로 문자열 합치기를 시도하세요.
버퍼 오류도 그 때문인 듯 합니다.
정제되지 않은 자료를 합치려고 시도하려다 보니 문자열이 길어진거죠.
아... 결과값에서 최종적으로 문자열 합치기를 시도해보겠습니다.