PLSQL无效月份

时间:2016-06-28 15:49:39

标签: oracle plsql

为什么我在测试此代码时会收到无效月份? PLSQL和XML如何处理数据类型?

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;

我不确定我的插入声明或光标中是否有错误 谢谢!

2 个答案:

答案 0 :(得分:0)

您正在将d.READING_DT作为字符串传递。在引号内。请删除引号并尝试

答案 1 :(得分:0)

参数类型在to_date中无效(DATE,“DATE FORMAT STRING”);

Link to Example

不要传递'd.READING_DT',而是删除引号。通过:d.READING_DT

由于Oracle无法将“d.READING_DT”识别为有效日期/或日期字符串,因此引发错误。

相关问题