oracle游标是个非常强大的功能,之前曾经用来获取数据,却发现返回的数据(ResultSet)没法处理,现在看到一个老项目使用,于是给自己建一个demo。
<select id="getBuyInfoListForProduct" parameterClass="int" resultMap="buyProductResult">
SELECT t1.*,
CURSOR (SELECT manager.sitename,
manager.sitepic,
cps.price,
cps.cpsurl,
cps.productname,
manager.id siteId,
manager.imageicon,
row_number() over(partition by cps.cpswebsiteid order by cps.price asc) rn
FROM cps_dynamic cps, product p, cps_manager manager
WHERE cps.productid = p.id
AND manager.id = cps.cpswebsiteid
AND p.id = t1.id
ORDER BY manager.sitepriority DESC) buyinfolist
FROM (SELECT t.*
FROM (SELECT pt.id,
nvl(pt.name2, pt.name) pro