2011-06-07 116 views
2

我的任務是從一個數據庫(非oracle數據庫)獲取數據並將該數據插入到另一個數據庫(oracle)中。將數據插入到Oracle數據庫中

我能夠以XML的形式從源數據庫獲取數據。現在,我必須將此XML作爲輸入傳遞到Oracle數據庫,以便將XML內的所有數據插入到Oracle數據庫表中。

有人可以引導我做什麼是做同樣的代碼。我很習慣SQL Server 2005.

如果有人能指導如何在XMl中插入數據到表中,這將有很大的幫助。

+0

我想你需要解析的XML轉換成列? – StevieG 2011-06-07 10:24:31

+0

您正在導出和導入單個表的數據嗎?或者是幾個表的數據,可能與表之間的引用相關聯?我是對的,你不想將數據存儲爲XML,但XML只是用作數據交換的一種手段?這樣的XML文件有多大?我們在談論兆,千兆或萬億字節嗎? – Codo 2011-06-07 10:26:51

+0

你能發佈一個xml樣本嗎? – StevieG 2011-06-07 10:28:06

回答

3

這是因爲通用的,因爲我可以把它沒有看到XML結構..

create or replace procedure put_stuff_into_table(source_xml_doc xmltype) AS 

BEGIN 

insert into table (a, b) 
select * 
from xmltable('<TOP_LEVEL_ELEMENT>' 
       passing source_xml_doc 
       columns a number  path 'ELEMENT_TAG_A', 
         b varchar2(100) path 'ELEMENT_TAG_B' 
      ); 
END; 
/
+0

感謝您的回覆。但我的xml輸入將是一個變量而不是xml文件。 xml格式存儲在一個變量中並傳遞給存儲過程,現在在存儲過程中,我需要使用這個xml變量並從中提取數據並插入到表中。 – manish 2011-06-07 11:54:52

+0

請參閱原始答案的編輯版 – StevieG 2011-06-07 12:01:15

+0

謝謝。有效。非常感謝。 – manish 2011-06-09 07:03:45