我正在尝试创建一个包含值列表(P2_LIST
)和一个区域的页面,该区域根据此列表中的表名称显示表的内容,例如
select * from :P2_LIST
但是我无法保存它,因为:
ORA-06550: line 1, column 21: ORA-00903: invalid table name
P2_LIST
是具有仅包含有效表名的列表的LOV。
有没有办法做到这一点?
当我确实P2_LIST
从对偶中进行选择时,我可以看到它保持正确,TABLE_NAME
并且如果我对表名进行硬编码,那么它也将返回。
我的想法是,然后可以通过向共享组件添加条目来向该页面添加更多表。
如果可以解决此问题,那么我的下一部分是我也想为此使用串联值:
例如,如果我有两个表:
然后,我想使用以下方式:
select * from :P2_LIST||_1
这样我可以在其他地方使用相同的LOV。
我正在运行:Application Express 5.0.3.00.03
是的,使用动态SQL查询。
而不是select * from :P2_LIST
像这样定义报告:
declare
q long;
begin
q := 'select * from ' || :P2_LIST || ';';
return q;
end;
您还需要:
(long
PL / SQL中的NB是定义的子类型varchar2(32760)
,我只是用来保存输入!)
这是一个快速演示:apex.oracle.com/pls/apex/f?p=22644 : 10
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句