Oracle FOR LOOP查询

时间:2012-05-24 05:12:01

标签: oracle plsql

如何在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)

感谢。

2 个答案:

答案 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。这些数字会改变吗?似乎是一种蠢蠢的做事方式。