mysql> DELIMITER |mysql> CREATE PROCEDURE myproc ()
-> BEGIN
-> DECLARE i INT DEFAULT 1;
-> DECLARE xml VARCHAR(25) DEFAULT 'XYZ';
->
-> WHILE iSELECT xml, i, ExtractValue(xml, '//a[$i]');
-> SET i = i+1;
-> END WHILE;
-> END |
上面的代码可以依次读出 节点 中的文本,如果XYZ 在某一张表的一个特定字段中保存,
比如保存在表 test.xmlfile 中我想使用一个游标 cur 打开test表,然后一次性的将各个节点中的值读出到一个数组或关系表中,
比如DECLARE cur CURSOR FOR selectExtractValue(xml, '//a') from test;