Oracel SQL Developer 中用户定义的报告出错 - 索引处缺少 IN 或 OUT 参数:: 1

问题描述 投票:0回答:1

我在 Oracle SQL Developer 中创建了一个用户定义的报告,并带有绑定变量。 该报告由 master_report (样式为表格)、包含“table”样式的 child_report_a 和包含相同查询但样式为“script”的 child_report_b 组成。

我可以选择主报告的一个单元格/行,并且 child_report_a 数据会相应更改(即,它返回我选择的同一日期的单元格。

但是,当我尝试在 child_report_b (使用“脚本”样式)中查看此内容时,会出现错误“索引处缺少 IN 或 OUT 参数:: 1”。

所以设置是:

表a

id_pk(号码) name_pk(varchar2)
1 杰克
2 约翰
3 艾米

表b

id_fk(号码) 开始时间(时间戳(6))
1 23 年 1 月 1 日 12.00.00.123000000
2 23 年 1 月 1 日 13.00.00.123000000
3 23 年 1 月 2 日 14.05.00.123000000

用户定义的报告:

master_report(样式=表格):

SELECT * FROM tablea

child_report_a(样式=表格)和child_report_b(样式=脚本):

SELECT * FROM tablea a INNER JOIN tableb b ON b.id_fk = a.id_pk WHERE trunc(start_time) = trunc(to_timestamp(:STARTTIME)

我的目标是能够从 master_report 中选择一行,而 child_report_b 将以脚本格式返回与日期匹配的所有结果(如当前在 child_report_a 中发生的情况)。

oracle plsql oracle-sqldeveloper
1个回答
0
投票

我们知道 JOIN 一侧发生了什么,您有一个正在使用 TRUNC 的时间戳。

但是我们无法判断 JOIN 中等式谓词的另一边是什么。

这是一个工作示例。

家长查询

select trunc(systimestamp) A
from dual

子查询

select object_name, object_type, last_ddl_time
from user_objects where :A > (trunc(systimestamp) - 30)

还有报告 -

要调试报告,请将绑定:STARTTIME 替换为与父查询将返回的值等效的文字值。如果有效,您的报告也应该如此。

© www.soinside.com 2019 - 2024. All rights reserved.