【问题标题】:Inserting Data in XML into Oracle database将 XML 格式的数据插入 Oracle 数据库
【发布时间】:2023-04-08 04:21:01
【问题描述】:

我的任务是从一个数据库(非 oracle db)获取数据并将该数据插入另一个数据库(oracle)。

我能够以 XML 的形式从源数据库中获取数据。现在我必须将此 XML 作为输入传递给 oracle 数据库,以便将 XML 中的所有数据插入到 oracle 数据库表中。

有人可以指导我做同样的代码是什么。我很习惯 SQL Server 2005。

如果有人能指导如何将 XMl 中的数据插入到表中,那将是非常有帮助的。

【问题讨论】:

  • 我认为您想将 xml 解析为列?
  • 你是导出导入单个表的数据吗?或者是几个表的数据,可能与表之间的引用相关联?您不想将数据存储为 XML 但 XML 仅用作数据交换的一种手段,我说得对吗?这样的 XML 文件有多大?我们谈论的是兆字节、千兆字节还是兆字节?
  • 你能发布一个xml样本吗?

标签: sql oracle


【解决方案1】:

这是我可以做到的通用性,而无需查看 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;
/ 

【讨论】:

  • 感谢您的回复。但我的 xml 输入将是一个变量,而不是 xml 文件。 xml 格式存储在一个变量中并传递给存储过程,现在在存储过程中我需要使用这个 xml 变量并从中提取数据并插入到表中。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-08-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-12-20
相关资源
最近更新 更多