2

使用 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;
4

1 回答 1

0

您可以使用 DBMS_XMLSave

请参阅:ORACLE 文档

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

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;
于 2013-11-12T14:34:11.523 回答