process takes a long- BULK COLLECT
From: EliasFigueroa <Eliasfimo_at_gmail.com>
Date: Wed, 13 Aug 2008 10:17:49 -0700 (PDT)
Message-ID: <eb2e4a12-22d1-44b1-b199-c8e988451344@s50g2000hsb.googlegroups.com>
IS
OPEN c_resumen;
END LOOP;
COMMIT ;
CLOSE c_resumen;
END SPGT147_CARGARPTRESUMENES; Received on Wed Aug 13 2008 - 12:17:49 CDT
Date: Wed, 13 Aug 2008 10:17:49 -0700 (PDT)
Message-ID: <eb2e4a12-22d1-44b1-b199-c8e988451344@s50g2000hsb.googlegroups.com>
The loading process is very slow as optimize
are 500000 records and takes 5 hours to insert in another table.
and probe with insert / APPEND * * + / <table> into select ... but
freezes any suggestions ..
Thank you for your assistance
CREATE OR REPLACE PROCEDURE SPGT147_CARGARPTRESUMENES (
p_fecha IN VARCHAR2,
p_array_size IN PLS_INTEGER DEFAULT 100
)
AS
TYPE ARRAY IS TABLE OF VARCHAR2 (3000) INDEX BY BINARY_INTEGER;
v_cliente ARRAY; v_segmento ARRAY; v_servicio ARRAY; v_tipotrafico ARRAY; v_operador ARRAY; v_zonal ARRAY; v_codzonal ARRAY; v_horario ARRAY; v_denominacion ARRAY; v_fecha ARRAY; v_negocio ARRAY; v_duracion ARRAY; v_agencia ARRAY; v_indicador ARRAY; v_hora ARRAY; v_segundos ARRAY; v_minutos ARRAY; v_soles ARRAY; v_refid ARRAY; v_periodo ARRAY; /*----------------------------------------------------------*/
--spgt147_drop_index;
/*---------------------------------------------------------*/CURSOR c_resumen
IS
SELECT /*+index(TAB1 INDEX_TREE_TRAFICO)*/ sp.des_stip_pc, -- cliente sg.nom_seg_cta, -- segmento f_obtienetiposervicio (tab1.tipoorigen, tab1.tipodestino, tab1.callclas, tab1.bparty ), -- servicio f_obtienetipotrafico (tab1.tipollamada, tab1.tipodestino, 1), -- trafico f_obteneroperador (tab1.aparty), -- operador zn.descripcion, --zonal, tab1.codzon, --codzonal, f_bandahoraria (tab1.stardate, tab1.tipollamada), --banda TAB1.Denominacion,--Denominacion tab1.stardate, --Fecha tab1.rao, --Negocio tab1.duracion, --Duracion tab1.expiredate, --Agencia tab1.tipollamada, --Indirural tab1.hora, --Hora tab1.minutos, --minutos tab1.segundos, --Segundos tab1.soles , --soles tab1.refid, tab1.periodo FROM ( SELECT rg.cod_stip_pc AS subtipo, rg.cod_seg_cta AS segcta, rg.cod_tipopc AS tipopc, rg.cod_nat_cta AS codnat, rg.tipotelefonoorigen AS tipoorigen, rg.tipotelefonodestino AS tipodestino, rg.callclass AS callclas, rg.bparty AS bparty, rg.aparty AS aparty, rg.tipollamada AS tipollamada, rg.codigozonal AS codzon, rg.startdatetime AS stardate, rg.rao AS rao, rg.DURATION AS duracion, rg.expiredate AS expiredate, SUBSTR (rg.DURATION, 1, 2) AS hora, SUBSTR (rg.DURATION, 3, 2) AS minutos, SUBSTR (rg.DURATION, 5, 2) AS segundos, TO_CHAR (rg.callcharge, '00.99') AS soles , rg.refid AS refid, rg.periodo AS periodo, St1.Valorfacial AS denominacion FROM reg_tmptrafico rg, Seriestarjeta St1 WHERE (rg.periodo >= p_fecha || '00' AND rg.periodo <= p_fecha || '23') AND St1.Numeroinicio <= rg.Refid AND St1.NumerofinBEGIN
>= rg.Refid) tab1,
subtipopc sp, segmento sg, zonal zn WHERE tab1.tipopc = sp.cod_tipopc AND tab1.subtipo = sp.cod_stip_pc AND tab1.segcta = sg.cod_seg_cta AND tab1.codnat = sg.cod_nat_cta AND tab1.codzon = zn.cod_zonal_atis;
OPEN c_resumen;
LOOP
FETCH c_resumen BULK COLLECT INTO v_cliente, v_segmento, v_servicio, v_tipotrafico, v_operador, v_zonal, v_codzonal, v_horario,v_denominacion,v_fecha, v_negocio, v_duracion, v_agencia, v_indicador, v_hora, v_segundos, v_minutos, v_soles,v_refid,v_periodo LIMIT p_array_size; FORALL i IN 1 .. v_cliente.COUNT INSERT INTO reportesresumen (cliente, segmento, servicio, tipotrafico, operador, zonal, codzonal, horario,DENOMINACION, fecha, negocio, DURATION, agencia, indicadorrural, hora, segundos, minutos, soles,refid,periodo ) VALUES (v_cliente(i), v_segmento(i), v_servicio(i), v_tipotrafico(i), v_operador(i), v_zonal(i), v_codzonal(i), v_horario(i),v_denominacion(i),v_fecha(i), v_negocio(i), v_duracion(i), v_agencia(i), v_indicador(i), v_hora(i), v_segundos(i), v_minutos(i), v_soles(i), v_refid(i),v_periodo(i) ); EXIT WHEN c_resumen%NOTFOUND;
END LOOP;
COMMIT ;
CLOSE c_resumen;
END SPGT147_CARGARPTRESUMENES; Received on Wed Aug 13 2008 - 12:17:49 CDT