跳到主要内容

存储过程

存储过程及函数配置

sql数据集配置存储过程

在数据库中创建存储过程或函数

CREATE  PROCEDURE `jmdemo`(name varchar(32))
BEGIN
-- 通过用户名查询列表
SELECT * FROM user
WHERE username = name;
END

创建数据集

1. 在设计界面,点击“数据集管理 ->SQL数据集”(操作如图7.11),进入SQL 数据集配置界面,如图1.1

图1.1

2. 选择好数据源:

下方如果有表,会显示表名称

图1.2

调用存储过程

1. 在SQL 数据集配置界面,在报表SQL栏输入表达式 CALL name( ${param},...) 如图1.3; name:存储过程名称 param:传入的参数1 ...:代表后面可以写多个参数,如${name},中间用,隔开 示例:

CALL jmdemo('${name}')

图1.1

2. 点击‘SQL解析’,如果有传参,会提示解析失败或数据为空 如图2.1

图2.1

3. 输入参数默认值后,再次点击SQL解析,出现如下图效果,则解析正常如图3.1

图3.1

字段会自动解析出来

附录

oracle存储过程的使用

需要存在输出游标sys_refcursor,且写在括号里面最后一个,xb性别为参数,可以写多个,其中用逗号分开

CREATE OR REPLACE procedure jmtest(xb in VARCHAR2 ,out_result_cursor out sys_refcursor) is
begin
open out_result_cursor for
select ID,NAME,SEX from demo where SEX = xb;
end;

数据集页面写法参考如下:

  • CALL 存储过程名称(${param1},${param...},?)
  • ${param}参数,多个用逗号拼接,字符串需要有' ${param} '单引号
  • ? 游标,需要在参数后面填写
CALL jmtest('${sex}',?)

点击sql解析

数据预览效果展示