2012-05-24 90 views
0

如何執行在甲骨文的PL以下/ SQL:甲骨文FOR循環查詢

BEGIN 
    FOR id IN (10,200,30,43,5444,6) 
    LOOP 
     process_the_record (id); 
END LOOP; 
END;  

由於這似乎並沒有爲我工作?

我基本上需要通過每個這些數字的迭代和每個數字通入程序,process_the_record(ID)

感謝。

回答

3

您可以使用collection--你只需要調用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 
0

查看變種條目here。這些數字會不會改變?看起來像是一種尷尬的做事方式。