您的位置:首页 > 数据库 > Oracle

Oracle 查询存储过程 做横向报表

2013-03-26 09:28 253 查看
因为要牵扯到小计,所以需要计算两次。

想法:

1、把查询到的结果,插入到临时表,

2、把统计结果插入到临时表。

3、查询临时表记录放置到游标中。

4、删除临时表记录。

包的定义声明:

View Code

<!-- 某种公告报表查询 结果集 class="java.util.HashMap"-->
<resultMap id="bulletinReportResultMap" class="java.util.TreeMap">
<result property="bizId" column="bizId"/>
<result property="bizName" column="bizName"/>
<result property="t01" column="t01"/>
<result property="t07" column="t07"/>
<result property="t14" column="t14"/>
<result property="t21" column="t21"/>
<result property="t1M" column="t1M"/>
<result property="t2M" column="t2M"/>
<result property="t3M" column="t3M"/>
<result property="t4M" column="t4M"/>
<result property="t5M" column="t5M"/>
<result property="t6M" column="t6M"/>
<result property="t1Y" column="t1Y"/>
<result property="t2Y" column="t2Y"/>
<result property="tCount" column="tCount"/>
<result property="sortNo" column="sortNo"/>
</resultMap>
<!-- 某种公告报表查询 参数 -->
<parameterMap id="bulletinReportParamMap" class="java.util.Map">
<parameter property="i_id_capital_dynamic_manage" javaType="java.lang.String" jdbcType="VARCHAR" mode="IN" />
<parameter property="o_cursor" javaType="java.sql.ResultSet" jdbcType="ORACLECURSOR" mode="OUT" />
</parameterMap>
<!-- 某种公告报表查询 调用存储过程 -->
<procedure id="queryBulletinReportList" resultMap="bulletinReportResultMap" parameterMap="bulletinReportParamMap">
{call CHEN_TEST_PACKGE.p_list_bulletin_report(?,?)}
</procedure>


java调用:

String id_capital_dynamic_manage = request.getParameter("id_capital_dynamic_manage");
Map<String, Object> paraMap = new HashMap<String, Object>();
paraMap.put("i_id_capital_dynamic_manage", id_capital_dynamic_manage);
// 调用存储过程,查询
List resultList = (List<?>) CURDUtil.queryList("queryBulletinReportList", paraMap);


页面显示jsp:

<c:if test="${not empty msgList}">
<c:forEach items="${msgList}" var="item">
<tr align="center" >
<td nowrap class="td_3"  ><c:out value="${item.bizName}"/></td>
<td nowrap class="td_3"  ><fmt:formatNumber pattern="#,##0.00" value="${item.t01}"/></td>
<td nowrap class="td_3"  ><fmt:formatNumber pattern="#,##0.00" value="${item.t07}"/></td>
<td nowrap class="td_3"  ><fmt:formatNumber pattern="#,##0.00" value="${item.t14}"/></td>
<td nowrap class="td_3"  ><fmt:formatNumber pattern="#,##0.00" value="${item.t21}"/></td>
<td nowrap class="td_3"  ><fmt:formatNumber pattern="#,##0.00" value="${item.t1M}"/></td>
<td nowrap class="td_3"  ><fmt:formatNumber pattern="#,##0.00" value="${item.t2M}"/></td>
<td nowrap class="td_3"  ><fmt:formatNumber pattern="#,##0.00" value="${item.t3M}"/></td>
<td nowrap class="td_3"  ><fmt:formatNumber pattern="#,##0.00" value="${item.tCount}"/></td>
</tr>
</c:forEach>
</c:if>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: