我现在有一个XML文件里,有两个表的数据,
即
<RowSet>
<Row>
<ID>5</ID>
<NAME>A</NAME> <ID>3</ID>
<NO>2345</NO>
</Row><Row>
...
</Row>
</RowSet>
其中ID,NAME为表一的两列数据,后面的ID,NO为表二的两二数据,我该如何把XML文件的数据转换到TABLE里面呢?
请赐教!!!!!!!!!!!!!!!!!!!!!!!!!!!!1
如果一个表的数据,我是知道的,
类似代码如下:
DECLARE
SAVCTX DBMS_XMLSTORE.ctxType;
rows NUMBER;
dst_loc CLOB :='';
BEGIN
SAVCTX := DBMS_XMLSTORE.NEWCONTEXT('T_USER');
DBMS_XMLSTORE.CLEARUPDATECOLUMNLIST(SAVCTX);
DBMS_XMLSTORE.SETUPDATECOLUMN(SAVCTX, 'USER_ID');
DBMS_XMLSTORE.SETUPDATECOLUMN(SAVCTX, 'PASSWORD');
rows := DBMS_XMLSTORE.INSERTXML(SAVCTX, dst_loc);
DBMS_OUTPUT.put_line(rows || ' rows inserted.');
DBMS_XMLSTORE.CLOSECONTEXT(SAVCTX);
END;
END;
即
<RowSet>
<Row>
<ID>5</ID>
<NAME>A</NAME> <ID>3</ID>
<NO>2345</NO>
</Row><Row>
...
</Row>
</RowSet>
其中ID,NAME为表一的两列数据,后面的ID,NO为表二的两二数据,我该如何把XML文件的数据转换到TABLE里面呢?
请赐教!!!!!!!!!!!!!!!!!!!!!!!!!!!!1
如果一个表的数据,我是知道的,
类似代码如下:
DECLARE
SAVCTX DBMS_XMLSTORE.ctxType;
rows NUMBER;
dst_loc CLOB :='';
BEGIN
SAVCTX := DBMS_XMLSTORE.NEWCONTEXT('T_USER');
DBMS_XMLSTORE.CLEARUPDATECOLUMNLIST(SAVCTX);
DBMS_XMLSTORE.SETUPDATECOLUMN(SAVCTX, 'USER_ID');
DBMS_XMLSTORE.SETUPDATECOLUMN(SAVCTX, 'PASSWORD');
rows := DBMS_XMLSTORE.INSERTXML(SAVCTX, dst_loc);
DBMS_OUTPUT.put_line(rows || ' rows inserted.');
DBMS_XMLSTORE.CLOSECONTEXT(SAVCTX);
END;
END;
另外,使用DBMS_XMLSTORE.INSERTXML(SAVCTX, dst_loc)函数的话,参数1不是整个XML吗?
有其他插入函数可用吗?