我有要求將xml文件加載到特定的表。我試着用下面的代碼,但它並沒有解決我的問題。將xml文件加載到oracle表
XML數據:
<FAX>
<EMAILOG>
<ID>7839</ID>
<RESPONSE>FAX SENT</RESPONSE>
</EMAILOG>
<EMAILOG>
<ID>7566</ID>
<RESPONSE>FAX NOT SENT</RESPONSE>
</EMAILOG>
</FAX>
我是執行與PL/SQL開發網格的幫助程序。右鍵單擊程序Test - >從硬盤加載xml文件 - >執行。
這裏是解釋過程的DDL。
create table emp3 as select * From emp where 1=1;
alter table emp3 add (fax_response varchar2(50));
create global temporary table tmp_xml of xmltype xmltype store as securefile binary xml;
create or replace procedure proc_upd_email_records (loc_xml in clob) is
begin
insert into tmp_xml
values (xmlparse(document loc_xml)) ;
merge into emp3 e
using (
select id
, response
from tmp_xml t
, xmltable(
'/FAX/EMAILOG'
passing t.object_value
columns id number path 'ID'
, response varchar2(250) path 'RESPONSE'
)
) v
on (e.empno = v.id)
when matched then update
set e.fax_response = v.response;
end;
/
由通過PL/SQL開發人員執行 「測試」 過程方法,我得到以下錯誤
ora 22805 : can not insert null object into object tables or nested tables
您可以分享您正在執行的任務嗎?你的代碼基本上是正確的。如何調用這個過程是個問題。 –
嗨,我使用Oracle PL SQL開發人員,我傳遞XML模式參數的文件。簡單地從計算機硬盤加載xml文件。我使用的版本是我正在使用的版本是 ** Oracle數據庫11g企業版版本11.2.0.1.0 ** – ravt