2016-05-09 32 views
-1

フォルダからXMLファイルを消費し、特定のタグ値(たとえば、EventName値を「LOADSTOPAPP」に変換)を実行し、一時変数に割り当てて、一時変数をダミーテーブルに挿入する必要があります。Oracle SQLのストアド・プロシージャでXMLファイルを読み取る方法は?

このサンプルXMLではどうすればいいですか?

<?xml version="1.0" encoding="utf-8" standalone="yes" ?> 
<CISDocument> 
    <EventName>LoadStopAppointment</EventName> 
    <ReasonCode>APH_</ReasonCode> 
    <ReasonCodeDescription>Appointment Changed</ReasonCodeDescription> 
    <SystemTimeZoneOffset>0.000000</SystemTimeZoneOffset> 
    <EventDateTime>2016-03-30T16:48:30</EventDateTime> 
    <EventReportedDateTime>2016-03-30T16:48:30</EventReportedDateTime> 
    <EventOccurredDateTime>2016-03-30T16:48:30</EventOccurredDateTime> 
</CISDocument> 
+2

あなたはどこまでを持っていますか?ファイルをPL/SQL変数(varchsr2/CLOB)、または外部表として読み取ることはできますか? XMLTypeに変換できますか?あなたは変換を行うことができますか? –

+0

私はPL/SQLの初心者ですので、PL/SQLとそれ以上の変換にフォルダからファイルを読み込む方法の詳細な手順が必要です。 @Alex Poole – Jitendra

+1

このサイトはチュートリアルやチュートリアルを提供するものではなく、コードに関する特定の問題の修正に役立ちます。 –

答えて

0
INSERT INTO dummy_table (
    EventName, 
    ReasonCode, 
    ReasonCodeDescription, 
    SystemTimeZoneOffset, 
    EventDateTime 
    -- ,... 
) 
SELECT EXTRACTVALUE(xml, '//CISDocument/EventName'), 
     EXTRACTVALUE(xml, '//CISDocument/ReasonCode'), 
     EXTRACTVALUE(xml, '//CISDocument/ReasonCodeDescription'), 
     TO_NUMBER(EXTRACTVALUE(xml, '//CISDocument/SystemTimeZoneOffset')), 
     TO_DATE(
     EXTRACTVALUE(xml, '//CISDocument/SystemTimeZoneOffset'), 
     'YYYY-MM-DD"T"HH24:MI:SS' 
     ) 
     -- ,... 
FROM (SELECT XMLType(your_clob_value) AS XML FROM DUAL) 
関連する問題