具有可变参数的MySQL函数

时间:2017-10-12 07:42:40

标签: mysql function parameters jasper-reports icinga

我正在使用Jaspersoft的iReport和icinga的数据创建监控报告。 在ireport中,我必须输入查询才能获得所需的数据。现在,我想获取(受监控对象的)名称以及该服务的相应可用性。为此,icinga提供了function,它将object_id,开始日期和结束日期作为参数。比如这个:

select icinga_availability(203, '2017-09-01 00:00:00','2017-09-30 23:59:59'), name1 from icinga_objects where object_id = '203';

对于iReport,我需要在一个查询中获取所有需要的对象。例如,我需要对象号131,258,101,465。

是否可以将变量/通配符或多个object_ids传递给函数?我还无法管理它。

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

iReport不再受到官方支持,因此最好切换到Jaspersoft Studio。

所以我只能告诉它在JSS中是如何工作的,但它也应该在iReport中工作:

select icinga_availability( $P{obejct_id} , '2017-09-01 00:00:00','2017-09-30 23:59:59'), name1 from icinga_objects where object_id = to_char( $P{obejct_id} );

使用整数参数:

<parameter name="obejct_id" class="java.lang.Integer"/>

因此,在运行报告时,您可以输入要查看的object_id。