ORA-22905: cannot access rows from a non-nested table item
调用Oracle中定义的函数时:
Function cd_dupe_ck (vdate in Varchar2)
Return cd_dupckrow_t Pipelined
类型:
Type cd_dupckrow_t Is Table Of cd_dupckrow;
Type cd_dupckrow Is Object ( [some columns] );
使用常量从报表开发工具(VS2012)调用时,它可以正常工作。 但是当尝试非平凡的情况(使用参数)时,它会得到22905错误。 例如
Select * From Table ( cd_dupe_ck( &date_p ) ) <<< FAILS
但是
Select * From Table ( cd_dupe_ck( '20140101' ) ) <<< works fine
理想的解决方案是找到一种按值传递参数的方法,但我会满足于它的工作。 报告中的@date_p参数将映射到数据集中的&amp; date_p。
答案 0 :(得分:0)
正如我在上面的评论中所说,事实证明答案很简单,但意外 尝试在Crystal Reports和Jasper中复制问题后,让它在两者中都能正常工作,我很困惑为什么它只能使用表函数的常量参数。
当我想出另一份使用表格功能的报告时,我发现自己从未尝过一个
Select col1,col2,col3, etc.
格式在我的选择上,只有Select *
在枚举表函数中的所有列时,它可以正常工作。