要用到两个游标,但好像执行不了,如下:
declare t_FlgNull_Insert cursor scroll for
select 
……
open t_FlgNull_Insert
declare……
fetch next from t_FlgNull_Insert into ……
……
close t_FlgNull_Insert
deallocate t_FlgNull_Insertdeclare t_table1_Insert cursor scroll for
select 
……
open t_table1_Insert
declare……
fetch next from t_table1_Insert into ……
……
close t_FlgNull_Insert
deallocate t_table1_Insert
不能这样写么?那应该怎么写呢,嵌套么?以前没用过,请大家帮帮忙了

解决方案 »

  1.   

    --舉例如下
    DECLARE CUR_EmpNo CURSOR FOR 
    select a.emp_no from 表
    where isnull(a.email,'')<>''
    OPEN CUR_EmpNoFETCH NEXT FROM CUR_EmpNo INTO @EmpNoWHILE @@FETCH_STATUS = 0 
    BEGIN
    EXEC DBO.SP_ECS_Email @EmpNo 
    FETCH NEXT FROM CUR_EmpNo INTO  @EmpNo
    END
    CLOSE CUR_EmpNo
    DEALLOCATE CUR_EmpNo
      

  2.   

    嵌套cursordeclare
    cursor c1 is
    select a
    from b;
    v_c1 c1%rowtype;ursor c2(v_a varchar2) is
    select c
    from d
    where e=v_c;
    v_c2 c2%rowtype;begin
    open c1
    begin 
    loop
    fetch c1 into v_c1;
    exit when c1%notfound;
    open c2(v_c1.a)
    begin
    loop 
    fetch c2 into v_c2;
    exit when c2%notfound;
    ...................................
    end loop;
    end;
    close c2;
    end loop;
    end;
    close c1;
    end;