Sql 将XML输出放回表的函数
使用Oracle数据库和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 а
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;