0

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

4

2 回答 2

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
于 2012-05-24T05:22:08.930 回答
0

请参阅此处的可变数组条目。这些数字会改变吗?似乎这是一种尴尬的做事方式。

于 2012-05-24T05:19:08.267 回答