最近做报表用了帆软+存储过程数据集的报表,存储过程数据集使用也是很方便的,如下,选择存储过程,
然后打开选择编辑界面
左侧选择存储过程,下方参数列表会自动加载,
如果存储过程调用不了,在存储过程本身没有问题的前提下,检查下存储过程中的输入参数格式和帆软传入参数格式是否一致。
点击上方的table出来数据列的前提是你的存储过程中除了对数据的处理(一定有个table,如果存储过程里有多个select,这里就会有多个table,每个代表一个 结果集),还需要有查询语句(select * 也是没有问题的),如果有查询但是点击也不会返回,可能是帆软没反应过来,可以在右上方一格一格的选择对应数据列。就可以啦。
》以下是存储过程的一些注意事项(我遇到过的坑儿)。
声明语句都要放在前边,如果你声明一个游标,游标里select语句的一些条件想要使用if处理过的变量,那么是不可以的,会报错,游标的声明前边也不能插入其他非声明语句。
》想要在存储过程里获得select的返回结果用@paramName
set @paramName := initValue; — 这里的@paramName不需要声明
select @paramName:= a.column from a; — @paramName就获取到select结果了
》如果你保存存储过程报了以下错误
检查声明语句并没有问题的情况下,那么可能是你的参数列表有问题,比如多加了个逗号之类的。
》open 游标 close 游标之间的语句都是要加分号的,end if; end while;同。