SELECT COUNT(*) INTO v_num FROM TABLE(xmlsequence(extract((SELECT orderdata FROM frame_flow_order WHERE orderid = i_orderid), '/orderData/entity/appPhoto/frameResPhoto[*]'))); --提取相关参数,调用添加过程. FOR i IN 1 .. v_num LOOP v_sql := 'select extractvalue(t.orderdata,''/orderData/entity/appPhoto/frameResPhoto[' || i || ']/resuri''),extractvalue(t.orderdata,''/orderData/entity/appPhoto/frameResPhoto[' || i || ']/restype''),extractvalue(t.orderdata,''/orderData/entity/appPhoto/frameResPhoto[' || i || ']/filename''),extractvalue(t.orderdata,''/orderData/entity/appPhoto/frameResPhoto[' || i || ']/photo''),extractvalue(t.orderdata,''/orderData/entity/appPhoto/frameResPhoto[' || i || ']/psize''),extractvalue(t.orderdata,''/orderData/entity/appPhoto/frameResPhoto[' || i || ']/phototype''),extractvalue(t.orderdata,''/orderData/entity/appPhoto/frameResPhoto[' || i || ']/photoext''),extractvalue(t.orderdata,''/orderData/entity/appPhoto/frameResPhoto[' || i || ']/sortno''),extractvalue(t.orderdata,''/orderData/entity/appPhoto/frameResPhoto[' || i || ']/creatorid'') from frame_flow_order t where t.orderid=''' || i_orderid || ''''; BEGIN EXECUTE IMMEDIATE v_sql INTO v_resuri, v_restype, v_filename, v_photo, v_psize, v_phototype, v_photoext, v_sortno, v_creatorid; EXCEPTION WHEN OTHERS THEN o_dealstats := 0; o_dealmessage := '工单信息有误'; GOTO photo_back; --跳转至本环节回滚处 END;没用dom解析,直接用xmlpath提取的.
INTO v_num
FROM TABLE(xmlsequence(extract((SELECT orderdata
FROM frame_flow_order
WHERE orderid = i_orderid),
'/orderData/entity/appPhoto/frameResPhoto[*]')));
--提取相关参数,调用添加过程.
FOR i IN 1 .. v_num LOOP
v_sql := 'select extractvalue(t.orderdata,''/orderData/entity/appPhoto/frameResPhoto[' || i ||
']/resuri''),extractvalue(t.orderdata,''/orderData/entity/appPhoto/frameResPhoto[' || i ||
']/restype''),extractvalue(t.orderdata,''/orderData/entity/appPhoto/frameResPhoto[' || i ||
']/filename''),extractvalue(t.orderdata,''/orderData/entity/appPhoto/frameResPhoto[' || i ||
']/photo''),extractvalue(t.orderdata,''/orderData/entity/appPhoto/frameResPhoto[' || i ||
']/psize''),extractvalue(t.orderdata,''/orderData/entity/appPhoto/frameResPhoto[' || i ||
']/phototype''),extractvalue(t.orderdata,''/orderData/entity/appPhoto/frameResPhoto[' || i ||
']/photoext''),extractvalue(t.orderdata,''/orderData/entity/appPhoto/frameResPhoto[' || i ||
']/sortno''),extractvalue(t.orderdata,''/orderData/entity/appPhoto/frameResPhoto[' || i ||
']/creatorid'') from frame_flow_order t where t.orderid=''' ||
i_orderid || '''';
BEGIN
EXECUTE IMMEDIATE v_sql
INTO v_resuri, v_restype, v_filename, v_photo, v_psize, v_phototype, v_photoext, v_sortno, v_creatorid;
EXCEPTION
WHEN OTHERS THEN
o_dealstats := 0;
o_dealmessage := '工单信息有误';
GOTO photo_back; --跳转至本环节回滚处
END;没用dom解析,直接用xmlpath提取的.