pl/sql二维数组-无法访问项2

pl/sql二维数组-无法访问项2,sql,oracle,plsql,oracle10g,Sql,Oracle,Plsql,Oracle10g,在下面的代码示例中 Type single_table_purge_type is varray(2) of varchar2(255); Type single_table_list is table of single_table_purge_type; purge_table single_table_list; purge_table := new single_table_list( new single_table_purge_type('product

在下面的代码示例中

Type single_table_purge_type is varray(2) of varchar2(255);
Type single_table_list is table of single_table_purge_type; 

purge_table single_table_list;

purge_table := new single_table_list(
            new single_table_purge_type('product','Where product_id=5'),
            new single_table_purge_type('customer','Where customer_id=10')
);

For x in 1..purge_table.Count
        Loop
            For y in 1..purge_table(x).Count
            Loop
                DBMS_OUTPUT.put_line( 'x='||x||' y='||y||' cell='||purge_table(x)(y));
            End loop;
        End loop;

DBMS_OUTPUT.put_line( 'm1 ' || purge_table(1)(1));
DBMS_OUTPUT.put_line( 'm2 ' || purge_table(1)(2));
DBMS_OUTPUT.put_line( 'm3 ' || purge_table(2)(1));
DBMS_OUTPUT.put_line( 'm4 ' || purge_table(2)(2));
我如何到达项目(1,2)或(2,2)?(即where条款)。 当我打印出值时,我看到的只是第一项的副本

输出

m1 product
m2 product
m3 customer
m4 customer

如图所示运行代码(添加
declare
begin
end
),我在Oracle 10g上获得以下信息:

x=1 y=1 cell=product
x=1 y=2 cell=Where product_id=5
x=2 y=1 cell=customer
x=2 y=2 cell=Where customer_id=10
m1 product
m2 Where product_id=5
m3 customer
m4 Where customer_id=10
这让我相信,你组装展示给我们的部件的方式有问题。请编辑您的问题,以提供与运行脚本完全相同的脚本


(这确实应该是一个注释,但它需要的长度和格式不适合那里。)

我在创建集合的过程中实际使用了一个函数,它返回了错误的值。谢谢,请告诉我们您所做的正确sql?非常感谢。