如何在Oracle PL / SQL中执行以下操作:
BEGIN
FOR id IN ( 10,200,30,43,5444,6 )
LOOP
process_the_record ( id );
END LOOP;
END;
因为这似乎对我不起作用?
我基本上需要迭代这些数字并将每个数字传递给过程,process_the_record(id)
感谢。
答案 0 :(得分:3)
您可以使用收藏品 - 您只需拨打process_the_record
而不是dbms_output.put_line
SQL> declare
2 type num_arr is table of number;
3 l_ids num_arr := num_arr( 10, 200, 30, 32, 5444, 6 );
4 begin
5 for i in 1 .. l_ids.count
6 loop
7 dbms_output.put_line( l_ids(i) );
8 end loop;
9 end;
10 /
10
200
30
32
5444
6
答案 1 :(得分:0)
请参阅varrays条目here。这些数字会改变吗?似乎是一种蠢蠢的做事方式。