2011-06-07 118 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