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?非常感谢。