2016-06-28 17 views
0

このコードをテストすると、無効な月が表示されるのはなぜですか? PLSQLとXMLはどのようにデータ型を処理しますか?PLSQL無効な月

CURSOR c_DATA_INF is 
    select * from xmltable ('/' PASSING i_XML COLUMNS READING_DT DATE PATH 'DATE', 
          Actual NUMBER PATH 'ACTUAL', 
          Eligible NUMBER PATH 'ELIGIBLE' 
         ); 
       begin 
       for d in c_DATA_INF loop     
        insert into table_name(READING_DT, actual, eligible) 
        values (to_date('d.READING_DT', 'MM/DD/YYYY'), d.ACTUAL, d.ELIGIBLE); 
       end loop; 
       end; 

私の挿入ステートメントまたはカーソルに間違っているかどうかはわかりません。
ありがとうございます!

+0

XMLに格納された日付の例を表示できますか? – krokodilko

+0

これらは06/28/2016として保存されます。 06/28/2016 AdamK

+0

ここで 'DATE'ではなく、' varchar2(10) 'として列を宣言します:' COLUMNS READING_DT DATE PATH 'DATE'' - つまり 'COLUMNS READING_DT VARCHAR(10)PATH' DATE以前の宣言の代わりに ''。 – krokodilko

答えて

0

文字列としてd.READING_DTを渡しています。引用符で囲みます。引用符を削除して試してください。

0

to_date(DATE、 "DATE FORMAT STRING")のパラメータタイプが無効です。代わりに 'd.READING_DT' を渡す

Link to Example

、引用符を削除します。パス:d.READING_DT

Oracleは「d.READING_DT」を有効な日付または日付文字列として認識しないため、エラーが発生します。

関連する問題