FastBI如何调用存储过程
调用原理和方法介绍
- 如果存储过程不带参数,则sqlsever数据库直接通过 exec 存储过程名称;这个SQL语句如果再数据库中可以执行,就直接把这个语句放到我们产品的数据表里面执行就好了。
- 如果存储过程带参数,则先理解下FBI才能使的原理。
- 参数的原理:制作的报表所使用的数据表中,定义参数(这个参数,可以理解为报表的查询条件);这个参数的定义格式:$(参数名称) ;系统会把接受到的参数值返回给SQL语句,SQL语句收到参数值后执行SQL,然后将返回的数据结果返回给报表进行呈现。
- 此时存储过程调研的例子:exec tt_test ('$(起始日期)','$(截止日期)') 这个里面的起始日期和截止日期,就是参数;
带参数的实例介绍
步骤一:先确定使用固定参数的时候是怎么调用的。
例如:exec v_gongshitest '2022-02-01','2022-02-028'
如下图:

Preview
步骤二:根据存错过程的参数类型,在FastBI的参数管理模块中,定义相应的参数。
上图例子中的参数为日期类型,则创建2个日期类型的参数:起始日期、截止日期;(注意类型选择日期)
如下图:

Preview
第三步:将第一步存储过程中的固定值,替换成从FastBI调用的参数,即:$(参数名称);
结合第一步和第二步的实例,就是:
把2022-02-01这个值,替换成$(起始日期);
把2022-02-28这个值,替换成$(截止日期);
则替换的结果为:exec v_gongshitest '$(起始日期)','$(截止日期)' ;
【注意事项】:
- 如果参数类型选择的是多值,系统默认是开启了添加单引号,如用户在报表查询面板选择的是张三、李四,
- 则返回给SQL语句的值是 '张三','李四',即系统把值返回给SQL前,自动给值加了单引号,并用英文逗号隔开。
- 当然,如果设置为关闭单引号,则系统不会给值加单引号,多个值,只用英文逗号隔开返给SQL;
- 对于其他的参数类型(单值、日期),都是用户查询了什么,系统就返回什么给SQL语句;
Preview
第四步:在FastBI的数据表管理中,直接调用存储过程,如下图:

Preview