Plsql 在隐藏对象中使用带查询的APEX集合,获取ORA-06550/PLS-00103错误

Plsql 在隐藏对象中使用带查询的APEX集合,获取ORA-06550/PLS-00103错误,plsql,oracle-apex,Plsql,Oracle Apex,我还没有在其他线程中找到这个问题,所以希望它是简单的。代码上个月起作用了,现在坏了 DECLARE l_query varchar2(32767) := &QUERY1. || &QUERY2.; cond_var varchar2(200) := ' 1 = 1 '; begin IF APEX_COLLECTION.COLLECTION_EXISTS (p_collection_name => 'CHILDREN') THEN

我还没有在其他线程中找到这个问题,所以希望它是简单的。代码上个月起作用了,现在坏了

DECLARE
    l_query varchar2(32767) := &QUERY1. || &QUERY2.;
    cond_var varchar2(200) := ' 1 = 1 ';
begin
    IF APEX_COLLECTION.COLLECTION_EXISTS (p_collection_name => 'CHILDREN') THEN
            APEX_COLLECTION.DELETE_COLLECTION (p_collection_name => 'CHILDREN');
    end if;
    APEX_COLLECTION.CREATE_COLLECTION_FROM_QUERY_B (
        p_collection_name => 'CHILDREN', 
        p_query => l_query);
End;
我在符号处的
l\u查询
定义中得到错误
QUERY1/2
是隐藏的页面项,包含这些查询的文本,由于这些页面项的字符限制(查询很大),我必须将它们连接起来

我是否错误地引用了那些隐藏的页面项?如果没有,我如何访问它们/为什么最近会发生变化

谢谢你的帮助

如果“隐藏对象”是指隐藏的页面项(或应用程序项),则使用绑定语法:

l_query varchar2(32767) := :QUERY1 || :QUERY2;

感谢您的回复(以及术语更正-我将更新问题),但这也会给出一个错误(ORA-20001),如果超过30个字节(并且每个字节都远远大于30个字节),则建议使用v()语法。当我将其转换为v()语法时,它似乎并没有实际引用对象中的内容,并给出另一个20001错误(查询必须以select或with开头)。我想这就是为什么我开始使用&符号的原因。你是说你的商品名长度超过30字节吗?因为一个页面项目的内容肯定会比这个长很多很多。如果是项目名称,那么我建议您只使用较短的名称。不,我只是输入错误(保留了句点,然后APEX说它无法绑定,因为我没有要求它正确执行)。但是,使用bind语法时,我会遇到与v()语法相同的错误(查询必须以select或with开头)。粘贴错误:ORA-20104:从查询创建集合错误:ORA-20001:查询必须以SELECT或我的问题开头有另一个符号和语法的工件,查询必须包含在我没有提到的引号中。非常感谢你的帮助!