我现在写了一个代码 代码中for循环,循环中有个查询语句,如果循环次数多会很慢;给大神详细解释下:
select STAFF_ID from APP_USER_2_ROLE where ROLE_ID='4' and AREA_CODE='09'
这个查询的结果是多条记录,也是for循环的次数;
循环重要执行的sql为:
SELECT *
FROM (SELECT B.*, ROWNUM AS ROW_INDEX
FROM ( SELECT
A.CHNL_CODE,A.CHNL_NAME,A.CHNL_KIND_ID,C.KIND_VALUE,A.CHNL_ADDR_DETAIL_TOTAL,
B.AREA_CODE,A.PROVINCE_CODE,A.CITY_CODE
FROM TF_CHL_CHANNEL A ,
TF_CHL_MANAGER B , T_CHL_KIND C
<where>
A.CHNL_ID=B.CHNL_ID AND A.CHNL_KIND_ID = C.KIND_ID
<if test="manaStaffId != null">
AND B.MANA_STAFF_ID = '${manaStaffId}'
</if>
<if test="areaCode != null">
AND B.AREA_CODE = '${areaCode}'
</if>
<if test="chnlKindId != null">
and A.CHNL_KIND_ID in (${chnlKindId})
</if>
AND A.STATE IN ('10','11','12')
</where>
) B ) where row_index > ${minRowNum} and row_index <= ${maxRowNum}
求大神指教 oracle有没有办法把这两个sql弄到一起变成一个oracle内部循环,求大神帮忙写下 感谢