为什么我在测试此代码时会收到无效月份? 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;
我不确定我的插入声明或光标中是否有错误 谢谢!
答案 0 :(得分:0)
您正在将d.READING_DT作为字符串传递。在引号内。请删除引号并尝试
答案 1 :(得分:0)
参数类型在to_date中无效(DATE,“DATE FORMAT STRING”);
不要传递'd.READING_DT',而是删除引号。通过:d.READING_DT
由于Oracle无法将“d.READING_DT”识别为有效日期/或日期字符串,因此引发错误。