2014-06-09 4 views
0

seletc 쿼리에서 XMLAgg를 사용하는 중 하나의 문제가 있습니다. 아래의 쿼리를 실행하는 동안 I이 완료 O/P를 받고 있지 않다 :sql 쿼리의 xmlagg가 완전한 출력을 생성하지 않습니다

select XMLELEMENT 
("SAPC", XMLAgg 
(XMLELEMENT 
("AT", 
XMLATTRIBUTES(dn.dn_num as MSISDN, ict.TEXT01 as IMEI, at1.TAC as TAC)))) 
from (select TAC,city from AT_Test at where city in 
(select cc.CCCITY from 
ccontact_all cc, contract_all ca where 
cc.customer_id = ca.customer_id and 
trunc(CO_INSTALLED) >= '30-MAY-2014')) at1, 
ccontact_all cc, contract_all ca, directory_number dn, contr_services_cap csc, 
INFO_CONTR_TEXT ict where 
cc.customer_id = ca.customer_id and 
ca.co_id = csc.co_id and 
at1.city = cc.CCCITY and 
csc.dn_id = dn.dn_id and 
ict.co_id = ca.co_id and 
trunc(CO_INSTALLED) >= '30-MAY-2014'; 

내가 오/P는 무엇입니까

<SAPC><AT MSISDN="213471000153" IMEI="123456789012" TAC="16003"></AT><AT MSISDN= 

출력처럼은

<SAPC> 
<AT MSISDN="213471000154" IMEI="123456789012" TAC="16003"></AT> 
<AT MSISDN=MSISDN="213471000155" IMEI="123456789014" TAC="16002"></AT> 
<AT MSISDN="213471000156" IMEI="123456789013" TAC="16003"></AT> 
</SAPC> 

Pls는 도움이 같아야합니다.

감사합니다. HK Mishra

답변

1

어떤 도구를 사용합니까? 내 생각 엔 정확히 80자를 얻었 기 때문에 도구가 출력을 늘리는 것입니다. 그리고 내 생각 엔 당신의 도구가 SQL * Plus라는 것입니다.

set linesize 2000 

도움이 될 것입니다.

0

답해 주셔서 감사합니다. 하지만 난 아래의 쿼리를 사용하여 일부 변경 즉, 'rtrim'set linesize 명령을 사용했지만 적절한 출력을 얻지 못했습니다.

select rtrim(XMLELEMENT 
("AT", 
XMLAgg 
(XMLELEMENT 
("SAPC", 
XMLATTRIBUTES(dn.dn_num as MSISDN, ict.TEXT01 as IMEI, at1.TAC as TAC))))) 
from (select TAC,city from AT_Test at where city in 
(select cc.CCCITY from 
ccontact_all cc, contract_all ca where 
cc.customer_id = ca.customer_id and 
((to_date(co_installed,'SSSSS') between 
to_date(36000,'SSSSS') and to_date(43200,'SSSSS')) or (to_date(CCMODDATE,'SSSSS') between 
to_date(36000,'SSSSS') and to_date(43200,'SSSSS')) or (to_date(CO_MODDATE,'SSSSS') between 
to_date(36000,'SSSSS') and to_date(43200,'SSSSS'))))) at1, 
ccontact_all cc, contract_all ca, directory_number dn, contr_services_cap csc, 
INFO_CONTR_TEXT ict where 
cc.customer_id = ca.customer_id and 
ca.co_id = csc.co_id and 
at1.city = cc.CCCITY and 
csc.dn_id = dn.dn_id and 
ict.co_id = ca.co_id and 
ca.ch_status = 'a' and 
((to_date(co_installed,'SSSSS') between 
to_date(36000,'SSSSS') and to_date(43200,'SSSSS')) or (to_date(CCMODDATE,'SSSSS') between 
to_date(36000,'SSSSS') and to_date(43200,'SSSSS')) or (to_date(CO_MODDATE,'SSSSS') between 
to_date(36000,'SSSSS') and to_date(43200,'SSSSS'))); 

나는 점점 오전 출력과 같은 :

RTRIM(XMLELEMENT("AT",XMLAGG(XMLELEMENT("SAPC",XMLATTRIBUTES(DN.DN_NUMASMSISDN,ICT.TEXT01ASIMEI,AT1.TACASTAC))))) 
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 
<AT><SAPC MSISDN="213470000095" IMEI="869763011575795" TAC="16001"></SAPC><SAPC MSISDN="213470000096" IMEI="869763011581041" TAC="16001"></SAPC><SAPC MSISDN="213470000098" IMEI="869763011578302" TAC="16001"></SAPC></AT> 
관련 문제