将 XML 输出放回表中的函数

Posted

技术标签:

【中文标题】将 XML 输出放回表中的函数【英文标题】:function that put XML output back to table 【发布时间】:2013-11-12 11:23:02 【问题描述】:

使用 Oracle 数据库和PL/SQL。我创建了从我的基础表中生成 XML 输出的过程。但是,还需要可以将 XML 输出放回表的反向过程。查找从表中生成 XML 的函数很容易 (dbms_xmlgen.getXML)。但我找不到反向功能。如果您知道反向功能,请写在这里。

到 XML:

create or replace 
PROCEDURE xml_apt
AS 
 doc   clob;
BEGIN
  doc := dbms_xmlgen.getXML('select * from аpt');
  dbms_output.put_line(doc);
END xml_apt;

【问题讨论】:

类似XMLSTORE ? 【参考方案1】:

您可以使用 DBMS_XMLSave

见:ORACLE Documentation

可能像这样更新一行......(未经测试)

PROCEDURE yourTableHere_UPDATE (xmlDoc in clob, ret OUT number)
IS
  updCtx DBMS_XMLSave.ctxType;
BEGIN

   updCtx := DBMS_XMLSave.newContext('yourTableHere');

   DBMS_XMLSave.setignorecase(updCtx,1);
   DBMS_XMLSave.setrowtag(updCtx,'yourrowtag');

   DBMS_XMLSave.clearUpdateColumnList(updCtx);
   DBMS_XMLSave.setKeyColumn(updCtx,'ID');

   ret := DBMS_XMLSave.updateXML(updCtx,xmlDoc);
   DBMS_XMLSave.closeContext(updCtx);
   commit;
END;

【讨论】:

以上是关于将 XML 输出放回表中的函数的主要内容,如果未能解决你的问题,请参考以下文章

如何将 PL/SQL 的输出(XML)存储在 oracle 表中

通过 xsl 将 XML 转换为 HTML 会导致以下问题:xsl 中的关键函数未提供所需的输出

从nifi中的xml中提取属性

python中的排列组合

将 hashbytes() 函数的输出插入表中

将 XmlDocument 输出为 XML