将 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 表中