티베로 SQL문 질문이에요 ㅠㅠ 0 3 279

by 나끼 [SQL Query] [2020.09.15 13:30:19]


SELECT

SUBSTR(XMLAGG(XMLELEMENT(X, ',' || GUBUN2)).EXTRACT('//text()').getStringVal(),2)

가 오라클에서는 정상동작하는데 

티베로에서는 8008 에러가 발생합니다

.getStringVal() 을빼버리면 티베로에서도 동작하긴하는데 이유가 무엇인지 궁금합니다..

 

4000자제한의에러는아닙니다

by 마농 [2020.09.15 13:43:33]

ListAgg 나 Aggr_Concat 사용하세요.
http://gurubee.net/article/55512


by 나끼 [2020.09.15 13:58:03]

답변 감사합니다

마농님 옛날작성하신 마농님글보고 해결은하였었는데 이유가 필요해서요 ㅜㅜ 혹시 이유를 아시나요?!


by 마농 [2020.09.15 14:17:38]

글쎄요.
티베로에서 해당 구문을 완벽하게 만들지 못한 것인지?
특정 테이블의 특정 데이터 때문에 에러가 발생하는 것인지?
특정 툴에서만 에러가 발생하는 것인지?
알기 어렵죠.
에러 메시지를 자세히 들여다 보시면 그 안에 답이 있기도 합니다.

암튼. XML 함수를 원래의 용도와 다르게 사용하는 부분이므로
원하는 용도를 충족시켜 줄 전용 함수가 있는데도 불구하고,
굳이, XML 함수를 사용할 이유는 없어 보입니다.
오라클에서도 XML 함수를 사용한 이유는, 과거에는 ListAgg 라는 함수가 없었기 때문이죠.
ListAgg 함수가 생긴 11G 이후로는 굳이 XML 함수를 사용할 이유가 없죠.

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입