Sql 将XML输出放回表的函数

Sql 将XML输出放回表的函数,sql,xml,oracle,plsql,Sql,Xml,Oracle,Plsql,使用Oracle数据库和PL/SQL。我创建了一个过程,用于从我的库中的表中输出GenereteXML。但,还需要反向过程,以便将XML输出放回表中。从表中查找生成XML的函数很容易(dbms\u xmlgen.getXML)。但我找不到反向函数。如果你知道反转功能,请写在这里 到XML: create or replace PROCEDURE xml_apt AS doc clob; BEGIN doc := dbms_xmlgen.getXML('select * from а

使用Oracle数据库和
PL/SQL
。我创建了一个过程,用于从我的库中的表中输出GenereteXML。但,还需要反向过程,以便将XML输出放回表中。从表中查找生成XML的函数很容易(
dbms\u 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;

您可以使用DBMS_XMLSave

见:

可能是这样更新一行…(未测试)

什么样的?
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;