如何在单个文件中使用两个游标进行写入?

时间:2015-10-23 19:43:14

标签: plsql

假设在我的程序中,有两个游标,我需要从游标,第一个游标的第一行和第二个游标的第二行等等进行书写。 我如何实现它?我知道如何从单个curs中取出 要么。 或者还有其他一些方法。 在此先感谢,

Nitika

1 个答案:

答案 0 :(得分:0)

您可以使用两个for loop语句,如下所示:

CREATE OR REPLACE procedure aProc(filter IN number) IS

cursor c1 is select something, something_else from myTable where something = filter;
cursor c2 is select something2, something_else2 from myTable2;

begin
     for alias1 in c1 loop
         for alias2 in c2 loop
             if(alias1.something = 1) then
                insert into myTable3 (value1,value2,value3)
                            values (alias1.something_else,
                                    alias2.something2,
                                    alias2.something_else2);
             end if;
         end loop;
     end loop;
end;

当找不到更多数据时,for循环语句将关闭打开的游标。