panghaoyu 发表于 2014-4-7 16:17:35

mysql读取xml中多个相同节点值

本帖最后由 panghaoyu 于 2014-4-7 16:20 编辑

大家好,

mysql> DELIMITER |mysql> CREATE PROCEDURE myproc ()
-> BEGIN
->   DECLARE i INT DEFAULT 1;
->   DECLARE xml VARCHAR(25) DEFAULT '<a>X</a><a>Y</a><a>Z</a>';
->
->   WHILE i < 4 DO
->   SELECT xml, i, ExtractValue(xml, '//a[$i]');
->   SET i = i+1;
->   END WHILE;
-> END |
上面的代码可以依次读出 节点 <a>中的文本,如果<a>X</a><a>Y</a><a>Z</a> 在某一张表的一个特定字段中保存,
比如保存在表 test.xmlfile 中我想使用一个游标 cur 打开test表,然后一次性的将各个节点<a>中的值读出到一个数组或关系表中,
比如DECLARE cur CURSOR FOR selectExtractValue(xml, '//a') from test;
FETCH cur INTO 数组或关系表;
请问应该如何实现,mysql 是不支持数组的吧先谢谢各位的指点了


kider 发表于 2014-4-8 10:19:37

数组目前不支持
游标支持
可以构造insert语句
页: [1]
查看完整版本: mysql读取xml中多个相同节点值