PostgreSQL和SSRS:将参数传递给PostgreSQL函数

时间:2019-01-29 06:55:52

标签: postgresql reporting-services

我尝试在ssrs中使用postgreSQL存储函数,首先尝试使用以下方法:

select * 
from reports.get_daily_cash_flow_test('01.01.2017'::timestamp with time zone, 
'01.01.2019'::timestamp with time zone, True, Offset)
WHERE Offset = @Offset

它会导致语法错误,在@Offset附近。 @Offset是整数类型变量,已添加到“参数”中,还添加到了数据集参数中(也尝试使用查询:

select * 
from reports.get_daily_cash_flow_test('01.01.2017'::timestamp with time zone, 
'01.01.2019'::timestamp with time zone, True, @Offset)

仅仅是因为@Offset已经添加到数据集参数中,但仍然存在语法错误。

之后,我尝试使用函数作为存储过程。问题仍然是我的函数返回Table,并且在数据集参数中它要求我添加输出参数(返回表的列)值。

之后尝试使用不带存储功能的简单查询,如下所示:

SELECT COUNT(DISTINCT (l.player_id))
FROM public.logins l
WHERE (l.login_date between @DateFrom AND @DateTo)

错误消息是

执行查询时发生错误。 错误[42703]错误:列“ datefrom”不存在; 执行查询时出错

1 个答案:

答案 0 :(得分:0)

我找到了解决方案,执行查询后,您应该像这样使用它:

SELECT * FROM reports.get_devices(?,?,?)

问号而不是参数,可以解决问题。