PL/SQL Inserting Big Data Using Refcursor and Fuction

--Inserting big data using refcursor and function

declare
  cursor c_beyan
  is
  select *
  from ilc_beyan
  order by id;
 
    v_KENTLI_ID           ilc_beyan.kentli_id%TYPE;
    v_ISLEM_ADRESLERI_ID  ilc_beyan.islem_adresleri_id%TYPE;
    v_HESAP_ID            ilc_beyan.hesap_id%TYPE;
    v_DONEM_YILI          ilc_beyan.donem_yili%TYPE;
    v_DONEM_AYI           ilc_beyan.donem_ayi%TYPE;
    v_BIRIM_ADET          ilc_beyan.birim_adet%TYPE;
    v_ACIKLAMA            ilc_beyan.aciklama%TYPE;
    v_BEYAN_TUTARI        ilc_beyan.beyan_tutari%TYPE;
    v_KAPANIS_ID          ilc_beyan.kapanis_id%TYPE;
    v_counter number      :=0;
 
begin
    for r_beyan in c_beyan loop
        v_KENTLI_ID           :=r_beyan.kentli_id;
        v_ISLEM_ADRESLERI_ID  :=r_beyan.islem_adresleri_id;
        v_HESAP_ID            :=r_beyan.hesap_id;
        v_DONEM_YILI          :=r_beyan.donem_yili;
        v_DONEM_AYI           :=r_beyan.donem_ayi;
        v_BIRIM_ADET          :=r_beyan.birim_adet;
        v_ACIKLAMA            :=r_beyan.aciklama;
        v_BEYAN_TUTARI        :=r_beyan.beyan_tutari;
        v_KAPANIS_ID          :=r_beyan.kapanis_id;
        v_counter             :=promigrate.pkg_mig_thk.fnc_beyan_id_al;
       
        insert into ilc_beyan
        (
            ID,
            KENTLI_ID,
            ISLEM_ADRESLERI_ID,
            HESAP_ID,
            DONEM_YILI,
            DONEM_AYI,
            BIRIM_ADET,
            ACIKLAMA,
            BEYAN_TUTARI,
            KAPANIS_ID,
            KAYIT_KULLANICI_ID,
            KAYIT_TARIHI
        )
        values
        (
            v_counter,
            v_KENTLI_ID,
            v_ISLEM_ADRESLERI_ID,
            v_HESAP_ID,
            v_DONEM_YILI,
            v_DONEM_AYI,
            v_BIRIM_ADET,
            v_ACIKLAMA,
            v_BEYAN_TUTARI,
            v_KAPANIS_ID,
            1,
            sysdate
        );
      end loop;
end;

--Executing a function
 declare
          v_counter number:=0;
 begin
          select promigrate.pkg_mig_thk.fnc_beyan_id_al
          into v_counter
          from dual;
         
          dbms_output.put_line(v_counter);
 end;

Comments

Popular posts from this blog

Solution for the fault: "System.Diagnostics.Process.Start is not working on IIS, but working on ASP.NET Development Server"

Solution for "Can not obtain Oracle client information from registry"