У меня есть пакет, и мне нужно вывести данные XML через курсор. Я никогда не работал с Xml данными. Пожалуйста, дайте мне знать, что вы понимаете из приведенного ниже пакета, и xml
create or replace PACKAGE BODY PK_FCP_EXTRACT is
PROCEDURE sp_fcp_extract is
cursor Rev_cur is select * from t_uar_reviews where CREATED_DATE=trunc(sysdate) ;
r Rev_cur%rowtype;
cursor case_cur( c_revid IN t_uar_reviews.uar_review_id%type )
is select *
from t_uar_cases where uar_review_id= c_revid ;
c case_cur%rowtype;
begin
open Rev_cur;
loop
fetch Rev_cur into r;
exit when Rev_cur%notfound;
open case_cur( r.uar_review_id );
loop
fetch case_cur into c;
exit when case_cur%notfound;
dbms_output.put_line(c.UAR_CASE_ID||','||c.UAR_REVIEW_ID||','||c.CASE_TYPE||','||c.CASE_NMBR||','||c.ACTIVE_FLAG||','|| c.CREATED_DATE);
---dbms_output.put_line (XML string) ; #please tel me how to use
end loop;
close case_cur;
end loop;
close Rev_cur;
end;
END PK_FCP_EXTRACT;
это XML data
vXML_Msg := to_clob('<BUSINESS_INDICATOR_ID>1</BUSINESS_INDICATOR_ID > ' ||
'<RECEIVED_DATE>' ||to_char(sysdate,'yyyy-mm-ddTmm:ss:00')|| '</RECEIVED_DATE>' ||
'<ZONE_ID>1</ZONE_ID>' ||
'<ORIGINATOR_LAN_ID>' || t_uar_reviews.REVIEWED_BY || '</ORIGINATOR_LAN_ID> ' ||
'<ORIGINATOR_AU>0070705</ORIGINATOR_AU>' ||
'<EVENT_DESCRIPTION>' || t_uar_reviews.SUMMARY_NOTE || '</EVENT_DESCRIPTION> ' ||
'<FRAUD_POTENTIAL_LOSS_AMOUNT>' ||sum(t_uar_cases.exposure_amt) || '</FRAUD_POTENTIAL_LOSS_AMOUNT> '||
'<ALERT_ID>' ||t_uar_reviews.UAR_REVIEW_ID || '</ALERT_ID>' ||
'<CUSTOMER_TYPE_ID>' || wells.t_hogan_acct_cust_month.ssn_taxid_ind || '</CUSTOMER_TYPE_ID> ' ||
'<ENTERPRISE_CUSTOMER_NUMBER>' || t_uar_cases.ecn ||'</ENTERPRISE_CUSTOMER_NUMBER> '||
'<TAX_ID_NUMBER>' || t_uar_cases.tax_id ||'</TAX_ID_NUMBER> ' ||
'<ACCOUNT_NUMBER>' || t_uar_cases.acct_nmbr ||'</ACCOUNT_NUMBER>' ||
'<ACCOUNT_COMPANY_NUMBER>' || wells.t_hogan_acct_cust_xref.coid || '</ACCOUNT_COMPANY_NUMBER>' ||
'<ACCOUNT_PRODUCT_CODE>' || wells.t_hogan_acct_cust_xref.cis_prod ||'</ACCOUNT_PRODUCT_CODE>' ||
'<EVENT_UAR_FRAUD_ATTACHMENT>' || wells.t_file_attachment ||'</EVENT_UAR_FRAUD_ATTACHMENT>' ||
'<FILE_NAME>' ||wells.t_file_attachment||'</FILE_NAME>' ||
'<DISPOSITON_STATUS_NAME>' || uar.t_disposition.disposition_desc || '</DISPOSITON_STATUS_NAME>' ||
'<CASE_TYPE_NAME>' || t_uar_cases.case_type ||'</CASE_TYPE_NAME>' ||
'<CASE_NUMBER>' || t_uar_cases.case_nmbr||'</CASE_NUMBER>' ||
'<FRAUD_POTENTIAL_LOSS_AMOUNT>' || t_uar_cases.exposure_amt ||'</FRAUD_POTENTIAL_LOSS_AMOUNT>' ||
'<LAST_COMPANY_NAME>' || t_uar_cases.full_name||'</LAST_COMPANY_NAME>' ||
'<CASE_OPEN_DATE>' || t_uar_cases.created_date ||'</CASE_OPEN_DATE>' ||
'<CASE_CLOSE_DATE>' || t_uar_cases.close_date ||'</CASE_CLOSE_DATE>' ||
'<CRIME_RING_ID>' || t_uar_cases.ring_id ||'</CRIME_RING_ID>' ||
'<CRIME_RING_NAME>' || t_uar_cases.ring_name ||'</CRIME_RING_NAME>' ||
'<SOR_PARENT_CASE_ID>' || t_uar_cases.uar_case_id ||'</SOR_PARENT_CASE_ID>' )
, это следует использовать в dbms_output.put_line в вышеуказанная процедура.