存储过程

编辑
  • 文档创建者:加菲喵
  • 浏览次数:25473次
  • 编辑次数:16次
  • 最近更新:ukae 于 2018-08-29
  • 1. 概述

    存储过程,就是直接将存储过程作为数据集,不需要在数据库查询而是去调用存储过程。FineReport支持全部数据库的存储过程作为数据集并且定义方法都相同。
    下面我们就以oracle为例,建一个模板数据集,为大家介绍下具体的定义方法。
    注:在7.0.4及之后的版本中存储过程分为模板存储过程数据集和服务器存储过程数据集,在7.0.4版本之前,只有服务器存储过程数据集。

    2. 定义数据集

    点击模板>模板数据集或者直接在数据集面板中,点击+如下图:
    切换到oracle数据库所在的数据连接,双击所需要添加的存储过程,如下图:
    注:MySql,DB2,Orcale,SqlServer是支持自动获取参数和参数的默认值的,而Access,Hsql,Sybase无法自动获取需要手动添加。
    注:在jar包版本2018-1-11之后,内置的Mysql驱动更新,新版本里面存储过程查询默认不用别名,即select XXX AS XXX from... 默认没有变成as之后的值。
    需要手动指定一下:在url后边加?useOldAliasMetadataBehavior=true,例如:jdbc:mysql://env.finedevelop.com:55703/testskp?useOldAliasMetadataBehavior=true
    定义完的存储过程数据集如下图:
    由于其是模板数据集处,因此该存储过程会存在模板数据集中,如果是在服务器数据集处定义的,则就会显示在服务器数据集所在的tab中。
    注:FineReport存储过程返回的是数据集,不能返回单个的参数值。

    3. 支持返回多个结果集

    若存储过程中返回的是多个结果集,在此也是支持同时返回多个结果集:
    点击预览可以看到多个结果集,如下图:
    数据集可以同时查看多个结果集,如下图所示:
    注:多个结果集只执行一次储存过程。

    4. 游标

    存储过程中的游标详细请参照游标

    索引:

    Oracle存储过程相关问题

    SqlServer存储过程相关问题

    调用存储过程


    附件列表


    主题: 设计思路
    如果您认为本文档还有待完善,请编辑

    文档内容仅供参考,如果你需要获取更多帮助,付费/准付费客户请咨询帆软技术支持
    关于技术问题,您还可以前往帆软社区,点击顶部搜索框旁边的提问按钮
    若您还有其他非技术类问题,可以联系帆软传说哥(qq:1745114201

    此页面有帮助吗?只是浏览 [ 去社区提问 ]