- Este tópico contém 7 respostas, 4 vozes e foi atualizado pela última vez 15 anos, 8 meses atrás por
Thiago Vilhena.
-
AutorPosts
-
18 de junho de 2010 às 3:28 am #94663
Thiago Vilhena
ParticipantePessoal, tenho 2 procedures aqui, essa porcaria nao funciona, ta uma B…. completa rsrs, e pra adiantar nao conheço nada de PL/SQL e esse negocio tem q esta funcionando e otimizado até segunda feira. ferou-se, oque eu faço, me jogo daqui do 20 andar?? rsrs
teoricamente sao 2 procedures, para automatizar a rotina de partionamentos de algumas tabelas, segue:
CREATE OR REPLACE PROCEDURE JUR.gera_particoes_sisjur2
is
ano_mes char (6);
ano number(4);
mes number(2);
particao_existente number(1) := 0;
partition_name_xx1 varchar2(100);
partition_name_xx2 varchar2(100);
partition_name_xx3 varchar2(100);
partition_name_xx4 varchar2(100);
partition_name_xx5 varchar2(100);
partition_name_xx6 varchar2(100);
partition_name_xx7 varchar2(100);
partition_name_xx8 varchar2(100);
partition_name_xx9 varchar2(100);
partition_name_xx10 varchar2(100);
partition_name_xx11 varchar2(100);
partition_name_xx12 varchar2(100);
partition_name_xx13 varchar2(100);
table_name_xx1 varchar2(100);
table_name_xx2 varchar2(100);
table_name_xx3 varchar2(100);
table_name_xx4 varchar2(100);
table_name_xx5 varchar2(100);
table_name_xx6 varchar2(100);
table_name_xx7 varchar2(100);
table_name_xx8 varchar2(100);
table_name_xx9 varchar2(100);
table_name_xx10 varchar2(100);
table_name_xx11 varchar2(100);
table_name_xx12 varchar2(100);
table_name_xx13 varchar2(100);
tablespace_name_xx1 varchar2(100);
tablespace_name_xx2 varchar2(100);
tablespace_name_xx3 varchar2(100);
tablespace_name_xx4 varchar2(100);
tablespace_name_xx5 varchar2(100);
tablespace_name_xx6 varchar2(100);
tablespace_name_xx7 varchar2(100);
tablespace_name_xx8 varchar2(100);
tablespace_name_xx9 varchar2(100);
tablespace_name_xx10 varchar2(100);
tablespace_name_xx11 varchar2(100);
tablespace_name_xx12 varchar2(100);
tablespace_name_xx13 varchar2(100);
begin
particao_existente := 0;
select to_char(sysdate, 'YYYYMM') into ano_mes from dual;
ano := substr(ano_mes,1,4);
-- mes := 12 --- substr(ano_mes,5,2);
mes := substr(ano_mes,5,2);
/* if mes = 12
then
ano := ano +1;
mes := 01;
else
mes := mes + 1;
end if; */
dbms_output.put_line('ano mes ' || ano_mes);
dbms_output.put_line('ano ' || to_char(ano));
dbms_output.put_line('mes ' || to_char(mes));
partition_name_xx1 := 'DAT_LOG_'||ano||'_'|| lpad(mes,2,0);
table_name_xx1 := upper('log_andamento_processo');
tablespace_name_xx1 := upper('TS_LMS_LOGANDPROCESSO_DATA_4M');dbms_output.put_line('partition_name_xx1 ' || partition_name_xx1);
dbms_output.put_line('table_name_xx1 ' || table_name_xx1);
dbms_output.put_line('tablespace_name_xx1 ' || tablespace_name_xx1);
partition_name_xx2 := 'P'||ano|| lpad(mes,2,0);
table_name_xx2 := upper('CONSOLIDACAO_FECH_JEC_GER_AT');
tablespace_name_xx2 := upper('TS_LMS_CFECH_AT_DATA_4M');dbms_output.put_line('partition_name_xx2 ' || partition_name_xx2);
dbms_output.put_line('table_name_xx2 ' || table_name_xx2);
dbms_output.put_line('tablespace_name_xx2 ' || tablespace_name_xx2);
partition_name_xx3 := 'P'||ano|| lpad(mes,2,0);
table_name_xx2 := upper('CONSOLIDACAO_FECH_TRAB_GER_AT');
tablespace_name_xx3 := upper('TS_LMS_CFECH_AT_DATA_4M');dbms_output.put_line('partition_name_xx3 ' || partition_name_xx3);
dbms_output.put_line('table_name_xx3 ' || table_name_xx3);
dbms_output.put_line('tablespace_name_xx3 ' || tablespace_name_xx3);
partition_name_xx4 := 'FCGER_DATA_FEC_CIV_'||ano||'_'|| lpad(mes,2,0);
table_name_xx4 := upper('CONSOLIDACOES_FECH_CIVEL_GER');
tablespace_name_xx4 := upper('TS_LMS_CFECHTRABGER_DATA_4M');dbms_output.put_line('partition_name_xx4 ' || partition_name_xx4);
dbms_output.put_line('table_name_xx4 ' || table_name_xx4);
dbms_output.put_line('tablespace_name_xx4 ' || tablespace_name_xx4);
partition_name_xx5 := 'FJGER_DATA_FECH_JEC_'||ano||'_'|| lpad(mes,2,0);
table_name_xX5 := upper('CONSOLIDACOES_FECH_JEC_GER');
tablespace_name_xx5 := upper('TS_LMS_CFECHJECGER_DATA_128M');
dbms_output.put_line('partition_name_xx5 ' || partition_name_xx5);
dbms_output.put_line('table_name_xx5 ' || table_name_xx5);
dbms_output.put_line('tablespace_name_xx5 ' || tablespace_name_xx5);
partition_name_xx6 := 'FJGER_DATA_FECH_JEC_'||ano||'_'|| lpad(mes,2,0);
table_name_xx6 := upper('CONSOLIDACOES_FECH_JEC_PAG_GER');
tablespace_name_xx6 := upper('TS_LMS_CFECHJECPAGGER_DATA_4M');
dbms_output.put_line('partition_name_xx6 ' || partition_name_xx6);
dbms_output.put_line('table_name_xx6 ' || table_name_xx6);
dbms_output.put_line('tablespace_name_xx6 ' || tablespace_name_xx6);
partition_name_xx7 := 'FTG_DATA_FECH_TRAB_'||ano||'_'|| lpad(mes,2,0);
table_name_xx7 := upper('CONSOLIDACOES_FECH_TRAB_GER');
tablespace_name_xx7 := upper('TS_LMS_CFECHTRABGER_DATA_128M');
dbms_output.put_line('partition_name_xx7 ' || partition_name_xx7);
dbms_output.put_line('table_name_xx7 ' || table_name_xx7);
dbms_output.put_line('tablespace_name_xx7 ' || tablespace_name_xx7);
partition_name_xx8 := 'p'||ano||'_'|| lpad(mes,2,0);
table_name_xx8 := upper('POSICAO_FECHAMENTO_TRAB');
tablespace_name_xx8 := upper('TS_LMS_LOGANDPROCESSO_DATA_4M');
dbms_output.put_line('partition_name_xx8 ' || partition_name_xx8);
dbms_output.put_line('table_name_xx8 ' || table_name_xx8);
dbms_output.put_line('tablespace_name_xx8 ' || tablespace_name_xx8);
partition_name_xx9 := 'P'||ano||'_'|| lpad(mes,2,0);
table_name_xx9 := upper('POSICOES_FECHAMENTOS_ADMS');
tablespace_name_xx9 := upper('TS_LMS_PFECHADMS_DATA_4M');
dbms_output.put_line('partition_name_xx9 ' || partition_name_xx9);
dbms_output.put_line('table_name_xx9 ' || table_name_xx9);
dbms_output.put_line('tablespace_name_xx9 ' || tablespace_name_xx9);
partition_name_xx10 := 'FCHCC_M_A_FECH_'||ano||'_'|| lpad(mes,2,0);
table_name_xx10 := upper('POSICOES_FECHAMENTOS_CIVEIS');
tablespace_name_xx10 := upper('TS_LMS_LOGANDPROCESSO_DATA_4M');
dbms_output.put_line('partition_name_xx10 ' || partition_name_xx10);
dbms_output.put_line('table_name_xx10 ' || table_name_xx10);
dbms_output.put_line('tablespace_name_xx10 ' || tablespace_name_xx10);
partition_name_xx11 := 'P'||ano||'_'|| lpad(mes,2,0);
table_name_xx11 := upper('POSICOES_FECHAMENTOS_GARANTIAS');
tablespace_name_xx11 := upper('TS_LMS_PFECHGAR_DATA_4M');
dbms_output.put_line('partition_name_xx11 ' || partition_name_xx11);
dbms_output.put_line('table_name_xx11 ' || table_name_xx11);
dbms_output.put_line('tablespace_name_xx11 ' || tablespace_name_xx11);
partition_name_xx12 := 'FECHJ_MES_ANO_FECH_'||ano||'_'|| lpad(mes,2,0);
table_name_xx12 := upper('POSICOES_FECHAMENTOS_JUIZADOS');
tablespace_name_xx12 := upper('TS_LMS_PFECHJUIZA_DATA_4M');
dbms_output.put_line('partition_name_xx12 ' || partition_name_xx12);
dbms_output.put_line('table_name_xx12 ' || table_name_xx12);
dbms_output.put_line('tablespace_name_xx12 ' || tablespace_name_xx12);
partition_name_xx13 := 'P'||ano||'_'|| lpad(mes,2,0);
table_name_xx13 := upper('POSICOES_FECHAMENTOS_TRIBS');
tablespace_name_xx13 := upper('TS_LMS_PFECHTRIBS_DATA_4M');
dbms_output.put_line('partition_name_xx13 ' || partition_name_xx13);
dbms_output.put_line('table_name_xx13 ' || table_name_xx13);
dbms_output.put_line('tablespace_name_xx13 ' || tablespace_name_xx13);select count(*) into particao_existente from all_tab_partitions
where
table_name = table_name_xx1 and
partition_name = partition_name_xx1 ;
if particao_existente > 0
then
dbms_output.put_line('existe particao ' || ano_mes || ' ou anteriores : Sim ' || partition_name_xx1);
if ( last_day(sysdate) - sysdate) < 15 then if mes = 12 then ano := ano +1; mes := 01; partition_name_xx1 := 'DAT_LOG_'||ano||'_'|| lpad(mes,2,0); dbms_output.put_line('criar nova particao na tabela log_andamento_processo ' || partition_name_xx1); Adicionar_particoes_sisjur(table_name_xx1, partition_name_xx1, TO_CHAR(lpad(mes + 1,2,0)), TO_CHAR(ANO)); else MES := MES +1; partition_name_xx1 := 'DAT_LOG_'||ano||'_'|| lpad(mes,2,0); dbms_output.put_line('criar nova particao na tabela log_andamento_processo ' || partition_name_xx1); Adicionar_particoes_sisjur(table_name_xx1, partition_name_xx1, TO_CHAR(lpad(mes + 1,2,0)), TO_CHAR(ANO)); end if; else dbms_output.put_line('não esta na hora de criar nova particao na tabela log_andamento_processo '); end if; else dbms_output.put_line('existe particao ' || ano_mes || ' ou anteriores : Nao ' || partition_name_xx1); if ( last_day(sysdate) - sysdate) < 15 then if mes = 12 then ano := ano +1; mes := 01; partition_name_xx1 := 'DAT_LOG_'||ano||'_'|| lpad(mes,2,0); dbms_output.put_line('criar nova particao na tabela log_andamento_processo ' || partition_name_xx1); Adicionar_particoes_sisjur(table_name_xx1, partition_name_xx1, TO_CHAR(lpad(mes + 1,2,0)), TO_CHAR(ANO)); else dbms_output.put_line('criar nova particao na tabela log_andamento_processo ' || partition_name_xx1); Adicionar_particoes_sisjur(table_name_xx1, partition_name_xx1, TO_CHAR(lpad(mes + 1,2,0)), TO_CHAR(ANO)); end if; else dbms_output.put_line('não esta na hora de criar nova particao na tabela log_andamento_processo '); end if; end if; select count(*) into particao_existente from all_tab_partitions where table_name = table_name_xx2 and partition_name = partition_name_xx2 ; if particao_existente > 0
then
dbms_output.put_line('existe particao ' || particao_existente);
if ( last_day(sysdate) - sysdate) < 15 then if mes = 12 then ano := ano +1; mes := 01; partition_name_xx2 := 'P'||ano|| lpad(mes,2,0); dbms_output.put_line('criar nova particao na tabela CONSOLIDACAO_FECH_JEC_GER_AT ' || partition_name_xx2); Adicionar_particoes_sisjur(table_name_xx2, partition_name_xx2, TO_CHAR(lpad(mes + 1,2,0)), TO_CHAR(ANO)); else MES := MES +1; partition_name_xx2 := 'P'||ano|| lpad(mes,2,0); dbms_output.put_line('criar nova particao na tabela CONSOLIDACAO_FECH_JEC_GER_AT ' || partition_name_xx2); Adicionar_particoes_sisjur(table_name_xx2, partition_name_xx2, TO_CHAR(lpad(mes + 1,2,0)), TO_CHAR(ANO)); end if; else dbms_output.put_line('não esta na hora de criar nova particao na tabela CONSOLIDACAO_FECH_JEC_GER_AT '); end if; else dbms_output.put_line('não existe particao ' || particao_existente); if ( last_day(sysdate) - sysdate) < 15 then if mes = 12 then ano := ano +1; mes := 01; partition_name_xx2 := 'P'||ano|| lpad(mes,2,0); dbms_output.put_line('criar nova particao na tabela lCONSOLIDACAO_FECH_JEC_GER_AT' || partition_name_xx2); Adicionar_particoes_sisjur(table_name_xx2, partition_name_xx2, TO_CHAR(lpad(mes + 1,2,0)), TO_CHAR(ANO)); else dbms_output.put_line('criar nova particao na tabela CONSOLIDACAO_FECH_JEC_GER_AT ' || partition_name_xx2); Adicionar_particoes_sisjur(table_name_xx2, partition_name_xx2, TO_CHAR(lpad(mes + 1,2,0)), TO_CHAR(ANO)); end if; else dbms_output.put_line('não esta na hora de criar nova particao na tabela CONSOLIDACAO_FECH_JEC_GER_AT '); end if; end if; select count(*) into particao_existente from all_tab_partitions where table_name = table_name_xx3 and partition_name = partition_name_xx3 ; if particao_existente > 0
then
dbms_output.put_line('existe particao ' || particao_existente);
if ( last_day(sysdate) - sysdate) < 15 then if mes = 12 then ano := ano +1; mes := 01; partition_name_xx3 := 'P'||ano|| lpad(mes,2,0); dbms_output.put_line('criar nova particao na tabela CONSOLIDACAO_FECH_TRAB_GER_AT ' || partition_name_xx3); Adicionar_particoes_sisjur(table_name_xx3, partition_name_xx3, TO_CHAR(lpad(mes + 1,2,0)), TO_CHAR(ANO)); else MES := MES +1; partition_name_xx3 := 'P'||ano|| lpad(mes,2,0); dbms_output.put_line('criar nova particao na tabela CONSOLIDACAO_FECH_TRAB_GER_AT ' || partition_name_xx3); Adicionar_particoes_sisjur(table_name_xx3, partition_name_xx3, TO_CHAR(lpad(mes + 1,2,0)), TO_CHAR(ANO)); end if; else dbms_output.put_line('não esta na hora de criar nova particao na tabela CONSOLIDACAO_FECH_TRAB_GER_AT '); end if; else dbms_output.put_line('não existe particao ' || particao_existente); if ( last_day(sysdate) - sysdate) < 15 then if mes = 12 then ano := ano +1; mes := 01; partition_name_xx3 := 'P'||ano|| lpad(mes,2,0); dbms_output.put_line('criar nova particao na tabela CONSOLIDACAO_FECH_TRAB_GER_AT' || partition_name_xx3); Adicionar_particoes_sisjur(table_name_xx3, partition_name_xx3, TO_CHAR(lpad(mes + 1,2,0)), TO_CHAR(ANO)); else dbms_output.put_line('criar nova particao na tabela CONSOLIDACAO_FECH_TRAB_GER_AT ' || partition_name_xx3); Adicionar_particoes_sisjur(table_name_xx3, partition_name_xx3, TO_CHAR(lpad(mes + 1,2,0)), TO_CHAR(ANO)); end if; else dbms_output.put_line('não esta na hora de criar nova particao na tabela CONSOLIDACAO_FECH_TRAB_GER_AT '); end if; end if; select count(*) into particao_existente from all_tab_partitions where table_name = table_name_xx4 and partition_name = partition_name_xx4 ; if particao_existente > 0
then
dbms_output.put_line('existe particao ' || particao_existente);
if ( last_day(sysdate) - sysdate) < 15 then if mes = 12 then ano := ano +1; mes := 01; partition_name_xx4 := 'FCGER_DATA_FEC_CIV_'||ano||'_'|| lpad(mes,2,0); dbms_output.put_line('criar nova particao na tabela CONSOLIDACOES_FECH_CIVEL_GER ' || partition_name_xx4); Adicionar_particoes_sisjur(table_name_xx4, partition_name_xx4, TO_CHAR(lpad(mes + 1,2,0)), TO_CHAR(ANO)); else MES := MES +1; partition_name_xx4 := 'FCGER_DATA_FEC_CIV_'||ano||'_'|| lpad(mes,2,0); dbms_output.put_line('criar nova particao na tabela CONSOLIDACOES_FECH_CIVEL_GER ' || partition_name_xx4); Adicionar_particoes_sisjur(table_name_xx4, partition_name_xx4, TO_CHAR(lpad(mes + 1,2,0)), TO_CHAR(ANO)); end if; else dbms_output.put_line('não esta na hora de criar nova particao na tabela CONSOLIDACOES_FECH_CIVEL_GER '); end if; else dbms_output.put_line('não existe particao ' || particao_existente); if ( last_day(sysdate) - sysdate) < 15 then if mes = 12 then ano := ano +1; mes := 01; partition_name_xx4 := 'FCGER_DATA_FEC_CIV_'||ano||'_'|| lpad(mes,2,0); dbms_output.put_line('criar nova particao na tabela CONSOLIDACOES_FECH_CIVEL_GER' || partition_name_xx4); Adicionar_particoes_sisjur(table_name_xx4, partition_name_xx4, TO_CHAR(lpad(mes + 1,2,0)), TO_CHAR(ANO)); else dbms_output.put_line('criar nova particao na tabela CONSOLIDACOES_FECH_CIVEL_GER ' || partition_name_xx4); Adicionar_particoes_sisjur(table_name_xx4, partition_name_xx4, TO_CHAR(lpad(mes + 1,2,0)), TO_CHAR(ANO)); end if; else dbms_output.put_line('não esta na hora de criar nova particao na tabela CONSOLIDACOES_FECH_CIVEL_GER '); end if; end if; select count(*) into particao_existente from all_tab_partitions where table_name = table_name_xx5 and partition_name = partition_name_xx5 ; if particao_existente > 0
then
dbms_output.put_line('existe particao ' || particao_existente);
if ( last_day(sysdate) - sysdate) < 15 then if mes = 12 then ano := ano +1; mes := 01; partition_name_xx5 := 'FJGER_DATA_FECH_JEC_'||ano||'_'|| lpad(mes,2,0); dbms_output.put_line('criar nova particao na tabela CONSOLIDACOES_FECH_JEC_GER' || partition_name_xx5); Adicionar_particoes_sisjur(table_name_xx5, partition_name_xx5, TO_CHAR(lpad(mes + 1,2,0)), TO_CHAR(ANO)); else MES := MES +1; partition_name_xx5 := 'FJGER_DATA_FECH_JEC_'||ano||'_'|| lpad(mes,2,0); dbms_output.put_line('criar nova particao na tabela CONSOLIDACOES_FECH_JEC_GER' || partition_name_xx5); Adicionar_particoes_sisjur(table_name_xx5, partition_name_xx5, TO_CHAR(lpad(mes + 1,2,0)), TO_CHAR(ANO)); end if; else dbms_output.put_line('não esta na hora de criar nova particao na tabela CONSOLIDACOES_FECH_JEC_GER '); end if; else dbms_output.put_line('não existe particao ' || particao_existente); if ( last_day(sysdate) - sysdate) < 15 then if mes = 12 then ano := ano +1; mes := 01; partition_name_xx5 := 'FJGER_DATA_FECH_JEC_'||ano||'_'|| lpad(mes,2,0); dbms_output.put_line('criar nova particao na tabela CONSOLIDACOES_FECH_JEC_GER' || partition_name_xx5); Adicionar_particoes_sisjur(table_name_xx5, partition_name_xx5, TO_CHAR(lpad(mes + 1,2,0)), TO_CHAR(ANO)); else dbms_output.put_line('criar nova particao na tabela CONSOLIDACOES_FECH_JEC_GER ' || partition_name_xx5); Adicionar_particoes_sisjur(table_name_xx5, partition_name_xx6, TO_CHAR(lpad(mes + 1,2,0)), TO_CHAR(ANO)); end if; else dbms_output.put_line('não esta na hora de criar nova particao na tabela CONSOLIDACOES_FECH_JEC_GER '); end if; end if; select count(*) into particao_existente from all_tab_partitions where table_name = table_name_xx6 and partition_name = partition_name_xx6 ; if particao_existente > 0
then
dbms_output.put_line('existe particao ' || particao_existente);
if ( last_day(sysdate) - sysdate) < 15 then if mes = 12 then ano := ano +1; mes := 01; partition_name_xx6 := 'FJGER_DATA_FECH_JEC_'||ano||'_'|| lpad(mes,2,0); dbms_output.put_line('criar nova particao na tabela CONSOLIDACOES_FECH_JEC_PAG_GER' || partition_name_xx6); Adicionar_particoes_sisjur(table_name_xx6, partition_name_xx6, TO_CHAR(lpad(mes + 1,2,0)), TO_CHAR(ANO)); else MES := MES +1; partition_name_xx6 := 'FJGER_DATA_FECH_JEC_'||ano||'_'|| lpad(mes,2,0); dbms_output.put_line('criar nova particao na tabela CONSOLIDACOES_FECH_JEC_PAG_GER' || partition_name_xx6); Adicionar_particoes_sisjur(table_name_xx6, partition_name_xx6, TO_CHAR(lpad(mes + 1,2,0)), TO_CHAR(ANO)); end if; else dbms_output.put_line('não esta na hora de criar nova particao na tabela CONSOLIDACOES_FECH_JEC_PAG_GER '); end if; else dbms_output.put_line('não existe particao ' || particao_existente); if ( last_day(sysdate) - sysdate) < 15 then if mes = 12 then ano := ano +1; mes := 01; partition_name_xx6 := 'FJGER_DATA_FECH_JEC_'||ano||'_'|| lpad(mes,2,0); dbms_output.put_line('criar nova particao na tabela CONSOLIDACOES_FECH_JEC_PAG_GER' || partition_name_xx6); Adicionar_particoes_sisjur(table_name_xx6, partition_name_xx6, TO_CHAR(lpad(mes + 1,2,0)), TO_CHAR(ANO)); else dbms_output.put_line('criar nova particao na tabela CONSOLIDACOES_FECH_JEC_PAG_GER ' || partition_name_xx6); Adicionar_particoes_sisjur(table_name_xx6, partition_name_xx6, TO_CHAR(lpad(mes + 1,2,0)), TO_CHAR(ANO)); end if; else dbms_output.put_line('não esta na hora de criar nova particao na tabela CONSOLIDACOES_FECH_JEC_PAG_GER '); end if; end if; select count(*) into particao_existente from all_tab_partitions where table_name = table_name_xx7 and partition_name = partition_name_xx7 ; if particao_existente > 0
then
dbms_output.put_line('existe particao ' || particao_existente);
if ( last_day(sysdate) - sysdate) < 15 then if mes = 12 then ano := ano +1; mes := 01; partition_name_xx7 := 'FTG_DATA_FECH_TRAB_'||ano||'_'|| lpad(mes,2,0); dbms_output.put_line('criar nova particao na tabela CONSOLIDACOES_FECH_TRAB_GER' || partition_name_xx7); Adicionar_particoes_sisjur(table_name_xx7, partition_name_xx7, TO_CHAR(lpad(mes + 1,2,0)), TO_CHAR(ANO)); else MES := MES +1; partition_name_xx7 := 'FTG_DATA_FECH_TRAB_'||ano||'_'|| lpad(mes,2,0); dbms_output.put_line('criar nova particao na tabela CONSOLIDACOES_FECH_TRAB_GER' || partition_name_xx7); Adicionar_particoes_sisjur(table_name_xx7, partition_name_xx7, TO_CHAR(lpad(mes + 1,2,0)), TO_CHAR(ANO)); end if; else dbms_output.put_line('não esta na hora de criar nova particao na tabela CONSOLIDACOES_FECH_TRAB_GER '); end if; else dbms_output.put_line('não existe particao ' || particao_existente); if ( last_day(sysdate) - sysdate) < 15 then if mes = 12 then ano := ano +1; mes := 01; partition_name_xx7 := 'FTG_DATA_FECH_TRAB_'||ano||'_'|| lpad(mes,2,0); dbms_output.put_line('criar nova particao na tabela CONSOLIDACOES_FECH_TRAB_GER' || partition_name_xx7); Adicionar_particoes_sisjur(table_name_xx7, partition_name_xx7, TO_CHAR(lpad(mes + 1,2,0)), TO_CHAR(ANO)); else dbms_output.put_line('criar nova particao na tabela CONSOLIDACOES_FECH_TRAB_GER ' || partition_name_xx7); Adicionar_particoes_sisjur(table_name_xx7, partition_name_xx7, TO_CHAR(lpad(mes + 1,2,0)), TO_CHAR(ANO)); end if; else dbms_output.put_line('não esta na hora de criar nova particao na tabela CONSOLIDACOES_FECH_TRAB_GER '); end if; end if; select count(*) into particao_existente from all_tab_partitions where table_name = table_name_xx8 and partition_name = partition_name_xx8 ; if particao_existente > 0
then
dbms_output.put_line('existe particao ' || particao_existente);
if ( last_day(sysdate) - sysdate) < 15 then if mes = 12 then ano := ano +1; mes := 01; partition_name_xx8 := 'p'||ano||'_'|| lpad(mes,2,0); dbms_output.put_line('criar nova particao na tabela POSICAO_FECHAMENTO_TRAB' || partition_name_xx8); Adicionar_particoes_sisjur(table_name_xx8, partition_name_xx8, TO_CHAR(lpad(mes + 1,2,0)), TO_CHAR(ANO)); else MES := MES +1; partition_name_xx8 := 'p'||ano||'_'|| lpad(mes,2,0); dbms_output.put_line('criar nova particao na tabela POSICAO_FECHAMENTO_TRAB' || partition_name_xx8); Adicionar_particoes_sisjur(table_name_xx8, partition_name_xx8, TO_CHAR(lpad(mes + 1,2,0)), TO_CHAR(ANO)); end if; else dbms_output.put_line('não esta na hora de criar nova particao na tabela POSICAO_FECHAMENTO_TRAB '); end if; else dbms_output.put_line('não existe particao ' || particao_existente); if ( last_day(sysdate) - sysdate) < 15 then if mes = 12 then ano := ano +1; mes := 01; partition_name_xx8 := 'p'||ano||'_'|| lpad(mes,2,0); dbms_output.put_line('criar nova particao na tabela POSICAO_FECHAMENTO_TRAB' || partition_name_xx8); Adicionar_particoes_sisjur(table_name_xx8, partition_name_xx8, TO_CHAR(lpad(mes + 1,2,0)), TO_CHAR(ANO)); else dbms_output.put_line('criar nova particao na tabela POSICAO_FECHAMENTO_TRAB ' || partition_name_xx8); Adicionar_particoes_sisjur(table_name_xx8, partition_name_xx8, TO_CHAR(lpad(mes + 1,2,0)), TO_CHAR(ANO)); end if; else dbms_output.put_line('não esta na hora de criar nova particao na tabela POSICAO_FECHAMENTO_TRAB '); end if; end if; select count(*) into particao_existente from all_tab_partitions where table_name = table_name_xx9 and partition_name = partition_name_xx9 ; if particao_existente > 0
then
dbms_output.put_line('existe particao ' || particao_existente);
if ( last_day(sysdate) - sysdate) < 15 then if mes = 12 then ano := ano +1; mes := 01; partition_name_xx9 := 'P'||ano||'_'|| lpad(mes,2,0); dbms_output.put_line('criar nova particao na tabela POSICOES_FECHAMENTOS_ADMS' || partition_name_xx9); Adicionar_particoes_sisjur(table_name_xx9, partition_name_xx9, TO_CHAR(lpad(mes + 1,2,0)), TO_CHAR(ANO)); else MES := MES +1; partition_name_xx9 := 'P'||ano||'_'|| lpad(mes,2,0); dbms_output.put_line('criar nova particao na tabela POSICOES_FECHAMENTOS_ADMS' || partition_name_xx9); Adicionar_particoes_sisjur(table_name_xx9, partition_name_xx9, TO_CHAR(lpad(mes + 1,2,0)), TO_CHAR(ANO)); end if; else dbms_output.put_line('não esta na hora de criar nova particao na tabela POSICOES_FECHAMENTOS_ADMS '); end if; else dbms_output.put_line('não existe particao ' || particao_existente); if ( last_day(sysdate) - sysdate) < 15 then if mes = 12 then ano := ano +1; mes := 01; partition_name_xx9 := 'P'||ano||'_'|| lpad(mes,2,0); dbms_output.put_line('criar nova particao na tabela POSICOES_FECHAMENTOS_ADMS' || partition_name_xx9); Adicionar_particoes_sisjur(table_name_xx9, partition_name_xx9, TO_CHAR(lpad(mes + 1,2,0)), TO_CHAR(ANO)); else dbms_output.put_line('criar nova particao na tabela POSICOES_FECHAMENTOS_ADMS ' || partition_name_xx9); Adicionar_particoes_sisjur(table_name_xx9, partition_name_xx9, TO_CHAR(lpad(mes + 1,2,0)), TO_CHAR(ANO)); end if; else dbms_output.put_line('não esta na hora de criar nova particao na tabela POSICOES_FECHAMENTOS_ADMS '); end if; end if; select count(*) into particao_existente from all_tab_partitions where table_name = table_name_xx10 and partition_name = partition_name_xx10 ; if particao_existente > 0
then
dbms_output.put_line('existe particao ' || particao_existente);
if ( last_day(sysdate) - sysdate) < 15 then if mes = 12 then ano := ano +1; mes := 01; partition_name_xx10 := 'FCHCC_M_A_FECH_'||ano||'_'|| lpad(mes,2,0); dbms_output.put_line('criar nova particao na tabela POSICOES_FECHAMENTOS_CIVEIS' || partition_name_xx10); Adicionar_particoes_sisjur(table_name_xx10, partition_name_xx10, TO_CHAR(lpad(mes + 1,2,0)), TO_CHAR(ANO)); else MES := MES +1; partition_name_xx10 :='FCHCC_M_A_FECH_'||ano||'_'|| lpad(mes,2,0); dbms_output.put_line('criar nova particao na tabela POSICOES_FECHAMENTOS_CIVEIS' || partition_name_xx10); Adicionar_particoes_sisjur(table_name_xx10, partition_name_xx10, TO_CHAR(lpad(mes + 1,2,0)), TO_CHAR(ANO)); end if; else dbms_output.put_line('não esta na hora de criar nova particao na tabela POSICOES_FECHAMENTOS_CIVEIS '); end if; else dbms_output.put_line('não existe particao ' || particao_existente); if ( last_day(sysdate) - sysdate) < 15 then if mes = 12 then ano := ano +1; mes := 01; partition_name_xx10 :='FCHCC_M_A_FECH_'||ano||'_'|| lpad(mes,2,0); dbms_output.put_line('criar nova particao na tabela POSICOES_FECHAMENTOS_CIVEIS' || partition_name_xx10); Adicionar_particoes_sisjur(table_name_xx10, partition_name_xx10, TO_CHAR(lpad(mes + 1,2,0)), TO_CHAR(ANO)); else dbms_output.put_line('criar nova particao na tabela POSICOES_FECHAMENTOS_CIVEIS ' || partition_name_xx10); Adicionar_particoes_sisjur(table_name_xx10, partition_name_xx10, TO_CHAR(lpad(mes + 1,2,0)), TO_CHAR(ANO)); end if; else dbms_output.put_line('não esta na hora de criar nova particao na tabela POSICOES_FECHAMENTOS_CIVEIS '); end if; end if; select count(*) into particao_existente from all_tab_partitions where table_name = table_name_xx11 and partition_name = partition_name_xx11 ; if particao_existente > 0
then
dbms_output.put_line('existe particao ' || particao_existente);
if ( last_day(sysdate) - sysdate) < 15 then if mes = 12 then ano := ano +1; mes := 01; partition_name_xx11 := 'P'||ano||'_'|| lpad(mes,2,0); dbms_output.put_line('criar nova particao na tabela POSICOES_FECHAMENTOS_GARANTIAS' || partition_name_xx11); Adicionar_particoes_sisjur(table_name_xx11, partition_name_xx11, TO_CHAR(lpad(mes + 1,2,0)), TO_CHAR(ANO)); else MES := MES +1; partition_name_xx11 := 'P'||ano||'_'|| lpad(mes,2,0); dbms_output.put_line('criar nova particao na tabela POSICOES_FECHAMENTOS_GARANTIAS' || partition_name_xx11); Adicionar_particoes_sisjur(table_name_xx11, partition_name_xx11, TO_CHAR(lpad(mes + 1,2,0)), TO_CHAR(ANO)); end if; else dbms_output.put_line('não esta na hora de criar nova particao na tabela POSICOES_FECHAMENTOS_GARANTIAS '); end if; else dbms_output.put_line('não existe particao ' || particao_existente); if ( last_day(sysdate) - sysdate) < 15 then if mes = 12 then ano := ano +1; mes := 01; partition_name_xx11 := 'P'||ano||'_'|| lpad(mes,2,0); dbms_output.put_line('criar nova particao na tabela POSICOES_FECHAMENTOS_GARANTIAS' || partition_name_xx11); Adicionar_particoes_sisjur(table_name_xx11, partition_name_xx11, TO_CHAR(lpad(mes + 1,2,0)), TO_CHAR(ANO)); else dbms_output.put_line('criar nova particao na tabela POSICOES_FECHAMENTOS_GARANTIAS ' || partition_name_xx11); Adicionar_particoes_sisjur(table_name_xx11, partition_name_xx11, TO_CHAR(lpad(mes + 1,2,0)), TO_CHAR(ANO)); end if; else dbms_output.put_line('não esta na hora de criar nova particao na tabela POSICOES_FECHAMENTOS_GARANTIAS '); end if; end if; select count(*) into particao_existente from all_tab_partitions where table_name = table_name_xx12 and partition_name = partition_name_xx12 ; if particao_existente > 0
then
dbms_output.put_line('existe particao ' || particao_existente);
if ( last_day(sysdate) - sysdate) < 15 then if mes = 12 then ano := ano +1; mes := 01; partition_name_xx12 := 'FECHJ_MES_ANO_FECH_'||ano||'_'|| lpad(mes,2,0); dbms_output.put_line('criar nova particao na tabela POSICOES_FECHAMENTOS_JUIZADOS' || partition_name_xx12); Adicionar_particoes_sisjur(table_name_xx12, partition_name_xx12, TO_CHAR(lpad(mes + 1,2,0)), TO_CHAR(ANO)); else MES := MES +1; partition_name_xx12 := 'FECHJ_MES_ANO_FECH_'||ano||'_'|| lpad(mes,2,0); dbms_output.put_line('criar nova particao na tabela POSICOES_FECHAMENTOS_JUIZADOS' || partition_name_xx12); Adicionar_particoes_sisjur(table_name_xx12, partition_name_xx12, TO_CHAR(lpad(mes + 1,2,0)), TO_CHAR(ANO)); end if; else dbms_output.put_line('não esta na hora de criar nova particao na tabela POSICOES_FECHAMENTOS_JUIZADOS '); end if; else dbms_output.put_line('não existe particao ' || particao_existente); if ( last_day(sysdate) - sysdate) < 15 then if mes = 12 then ano := ano +1; mes := 01; partition_name_xx12 := 'FECHJ_MES_ANO_FECH_'||ano||'_'|| lpad(mes,2,0); dbms_output.put_line('criar nova particao na tabela POSICOES_FECHAMENTOS_JUIZADOS' || partition_name_xx12); Adicionar_particoes_sisjur(table_name_xx12, partition_name_xx12, TO_CHAR(lpad(mes + 1,2,0)), TO_CHAR(ANO)); else dbms_output.put_line('criar nova particao na tabela POSICOES_FECHAMENTOS_JUIZADOS ' || partition_name_xx12); Adicionar_particoes_sisjur(table_name_xx12, partition_name_xx12, TO_CHAR(lpad(mes + 1,2,0)), TO_CHAR(ANO)); end if; else dbms_output.put_line('não esta na hora de criar nova particao na tabela POSICOES_FECHAMENTOS_JUIZADOS '); end if; end if; select count(*) into particao_existente from all_tab_partitions where table_name = table_name_xx13 and partition_name = partition_name_xx13 ; if particao_existente > 0
then
dbms_output.put_line('existe particao ' || particao_existente);
if ( last_day(sysdate) - sysdate) < 15 then if mes = 12 then ano := ano +1; mes := 01; partition_name_xx13 := 'P'||ano||'_'|| lpad(mes,2,0); dbms_output.put_line('criar nova particao na tabela POSICOES_FECHAMENTOS_TRIBS' || partition_name_xx13); Adicionar_particoes_sisjur(table_name_xx13, partition_name_xx13, TO_CHAR(lpad(mes + 1,2,0)), TO_CHAR(ANO)); else MES := MES +1; partition_name_xx13 := 'P'||ano||'_'|| lpad(mes,2,0); dbms_output.put_line('criar nova particao na tabela POSICOES_FECHAMENTOS_TRIBS' || partition_name_xx13); Adicionar_particoes_sisjur(table_name_xx13, partition_name_xx13, TO_CHAR(lpad(mes + 1,2,0)), TO_CHAR(ANO)); end if; else dbms_output.put_line('não esta na hora de criar nova particao na tabela POSICOES_FECHAMENTOS_TRIBS '); end if; else dbms_output.put_line('não existe particao ' || particao_existente); if ( last_day(sysdate) - sysdate) < 15 then if mes = 12 then ano := ano +1; mes := 01; partition_name_xx13 := 'P'||ano||'_'|| lpad(mes,2,0); dbms_output.put_line('criar nova particao na tabela POSICOES_FECHAMENTOS_TRIBS' || partition_name_xx13); Adicionar_particoes_sisjur(table_name_xx13, partition_name_xx13, TO_CHAR(lpad(mes + 1,2,0)), TO_CHAR(ANO)); else dbms_output.put_line('criar nova particao na tabela POSICOES_FECHAMENTOS_TRIBS ' || partition_name_xx13); Adicionar_particoes_sisjur(table_name_xx13, partition_name_xx13, TO_CHAR(lpad(mes + 1,2,0)), TO_CHAR(ANO)); end if; else dbms_output.put_line('não esta na hora de criar nova particao na tabela POSICOES_FECHAMENTOS_TRIBS '); end if; end if; exception when others then null; dbms_output.put_line(' erro others '); end; /
CREATE OR REPLACE procedure JUR.Adicionar_particoes_sisjur
(
vtabela in varchar2,
vpartition_nome in varchar2,
vmes in char,
vano in char
)
is
v_cursor integer;
vscript varchar2(2000);
vparticao_data char(7);
vresul integer;
begin
v_cursor := dbms_sql.open_cursor;
vparticao_data := vano||'-'||vmes;
begin
dbms_output.put_line('tabela : ' || vtabela);
dbms_output.put_line('particao : ' || vpartition_nome);
dbms_output.put_line('mes : ' || vmes);
dbms_output.put_line('ano : ' || vano);
dbms_output.put_line('particao data : ' || vparticao_data);
vscript := 'ALTER TABLE '||vtabela||' ADD PARTITION ' || vpartition_nome || ' VALUES LESS THAN(TO_DATE(''';
vscript := vscript || vparticao_data || '-01 00:00:00''';
vscript := vscript || ',' || '''SYYYY-MM-DD HH24:MI:SS''';
vscript := vscript || ',' || '''NLS_CALENDAR=GREGORIAN''';
vscript := vscript || ')) TABLESPACE TS_LMS_LOGPROCESSO_DATA_128M PCTFREE 10 PCTUSED 40 INITRANS 5 MAXTRANS 255 STORAGE (FREELISTS 10 FREELIST GROUPS 1) LOGGING ';
dbms_output.put_line('script : ' || vscript);
dbms_sql.parse(v_cursor, vscript, dbms_sql.native);
vresul := dbms_sql.execute(v_cursor);
end;
end Adicionar_particoes_sisjur;
/
Por favor.. to perdido...
18 de junho de 2010 às 6:47 pm #94666fsitja
ParticipanteMinha cabeça… dói… 😯
18 de junho de 2010 às 6:53 pm #94667Regis Araujo
ParticipanteFala Thiago..
Mano, q monstro é este?!?!!?
Velho.. seguinte.. acho melhor vc fazer outra PROC.. mas uma dúvida.. vc precisa de uma procedure para criar novas partições apenas a cada novo mês correto??
Eh mais facil criar outra PROC.. e ai vc usa o SCHEDULER do oracle para rodar isto todo dia 27 de cada mês, criando uma nova partição para o mês seguinte..!!
Acho muito mais facil.. mas para isto precisamos saber se estes “MONSTROS” apenas criam uma nova partição ou fazem algo a mais…!!
Abraços..!!
18 de junho de 2010 às 7:13 pm #94670vieri
ParticipanteEssa produre é um lixo e só serve para essa tabela,
o cara que gastou umas 30horas pra fazer isso ai, já teria feitos todas partições até 2078 com initial extent pequeno, e não teria te dado esse trabalho.Nao entendo pq vc tem que colocar isso pra funcionar até segunda..
tem chefe que é maluco.. se fosse algo do négocio…Crie as partições e diga que vai criar um outro mecanismo..
para adicionar automáticamente.Adicionar partições é um alter table, um script dinâmico dentro de um shel script agendados na crontab gerando um .sql resolve isso..
18 de junho de 2010 às 7:46 pm #94672Thiago Vilhena
Participante[quote=”Thunder_Catz”:3txb0mnf]Fala Thiago..
Mano, q monstro é este?!?!!?
Velho.. seguinte.. acho melhor vc fazer outra PROC.. mas uma dúvida.. vc precisa de uma procedure para criar novas partições apenas a cada novo mês correto??
Eh mais facil criar outra PROC.. e ai vc usa o SCHEDULER do oracle para rodar isto todo dia 27 de cada mês, criando uma nova partição para o mês seguinte..!!
Acho muito mais facil.. mas para isto precisamos saber se estes “MONSTROS” apenas criam uma nova partição ou fazem algo a mais…!!
Abraços..!![/quote]
Thunder, é isso mesmo veio essa porcaria deveria adicionar uma partição pro proximo mes, pra essas tabelas, se nao me engano sao 13 tabelas, sao todas para fazer um ADD partition.
Porcaria, isso chegou aqui pra entrar em produção ai olhei isso fiquei nervoso rsrsr18 de junho de 2010 às 7:58 pm #94673Thiago Vilhena
Participante[quote=”vieri”:18r3uxfp]Essa produre é um lixo e só serve para essa tabela,
o cara que gastou umas 30horas pra fazer isso ai, já teria feitos todas partições até 2078 com initial extent pequeno, e não teria te dado esse trabalho.Nao entendo pq vc tem que colocar isso pra funcionar até segunda..
tem chefe que é maluco.. se fosse algo do négocio…Crie as partições e diga que vai criar um outro mecanismo..
para adicionar automáticamente.Adicionar partições é um alter table, um script dinâmico dentro de um shel script agendados na crontab gerando um .sql resolve isso..[/quote]
kkkkkk. VIERI VEIO, fiz isso ontem a noite criei as particoes até 2015, hj estou pensando na melhor forma pra por o particionamento dessas tabelas automatizado.
18 de junho de 2010 às 11:01 pm #94675Regis Araujo
ParticipanteOpa..
Ta ai Thiago..
Agora vc edita o LESS THAN conforme sua necessidade.. eu deixei o padrão que vc havia dito.. YYYY_MM
Ve se lhe ajuda.. e cria um JOB ou SCHEDULER para rodar isto todos os dias 27 de cada mês..!!
create or replace procedure SP_NOVA_PARTICAO IS
v_lista_particoes DBMS_UTILITY.LNAME_ARRAY;
v_nova_particao varchar2(7) := to_char(SYSDATE,'YYYY_MM');cursor c1 is select distinct table_name, partition_name
from user_tab_partitions
where partition_name
like '%'||to_char(sysdate- 10,'YYYY_MM')||'%'
order by table_name desc;BEGIN
DBMS_SESSION.SET_NLS('NLS_DATE_FORMAT','''DD/MM/YYYY HH24:MI:SS''');for rec in c1 LOOP
v_lista_particoes (c1%rowcount) := replace(rec.partition_name,to_char(sysdate-10,'YYYY_MM'),v_nova_particao);
declare
erro_part_existente EXCEPTION;
PRAGMA EXCEPTION_INIT(erro_part_existente, -14074);
BEGIN
EXECUTE IMMEDIATE 'ALTER TABLE '||rec.table_name||' ADD PARTITION '||v_lista_particoes (c1%rowcount)||' VALUES LESS THAN ('||to_char(add_months(sysdate,2),'YYYYMM')||') TABLESPACE ';
exception
when erro_part_existente THEN
-- INSERE BLOCO DE ENVIO DE E-MAIL INFORMANDO Q PARTIÇÃO JA EXISTE.
end;end loop;
-- INSERE BLOCO DE ENVIO DE E-MAIL PARA CONFIRMAR A CRIAÇÃO DAS PARTIÇÕES..
exception
when others then
-- INSERE BLOCO DE ENVIO DE E-MAIL PARA INFORMAR ERRO NA CRIAÇÃO DAS PARTIÇÕES..
end SP_NOVA_PARTICAO;Qualquer coisa.. posta aqui…!!
Abraços..
21 de junho de 2010 às 11:35 pm #94706Thiago Vilhena
Participante[quote=”Thunder_Catz”:32cye4aq]Opa..
Ta ai Thiago..
Agora vc edita o LESS THAN conforme sua necessidade.. eu deixei o padrão que vc havia dito.. YYYY_MM
Ve se lhe ajuda.. e cria um JOB ou SCHEDULER para rodar isto todos os dias 27 de cada mês..!!
create or replace procedure SP_NOVA_PARTICAO IS
v_lista_particoes DBMS_UTILITY.LNAME_ARRAY;
v_nova_particao varchar2(7) := to_char(SYSDATE,'YYYY_MM');cursor c1 is select distinct table_name, partition_name
from user_tab_partitions
where partition_name
like '%'||to_char(sysdate- 10,'YYYY_MM')||'%'
order by table_name desc;BEGIN
DBMS_SESSION.SET_NLS('NLS_DATE_FORMAT','''DD/MM/YYYY HH24:MI:SS''');for rec in c1 LOOP
v_lista_particoes (c1%rowcount) := replace(rec.partition_name,to_char(sysdate-10,'YYYY_MM'),v_nova_particao);
declare
erro_part_existente EXCEPTION;
PRAGMA EXCEPTION_INIT(erro_part_existente, -14074);
BEGIN
EXECUTE IMMEDIATE 'ALTER TABLE '||rec.table_name||' ADD PARTITION '||v_lista_particoes (c1%rowcount)||' VALUES LESS THAN ('||to_char(add_months(sysdate,2),'YYYYMM')||') TABLESPACE ';
exception
when erro_part_existente THEN
-- INSERE BLOCO DE ENVIO DE E-MAIL INFORMANDO Q PARTIÇÃO JA EXISTE.
end;end loop;
-- INSERE BLOCO DE ENVIO DE E-MAIL PARA CONFIRMAR A CRIAÇÃO DAS PARTIÇÕES..
exception
when others then
-- INSERE BLOCO DE ENVIO DE E-MAIL PARA INFORMAR ERRO NA CRIAÇÃO DAS PARTIÇÕES..
end SP_NOVA_PARTICAO;Qualquer coisa.. posta aqui…!!
Abraços..[/quote]
MANUH TA COM ERRO
1 create or replace procedure SP_NOVA_PARTICAO IS
2 v_lista_particoes DBMS_UTILITY.LNAME_ARRAY;
3 v_nova_particao varchar2(7) := to_char(SYSDATE,'YYYY_MM');
4 cursor c1 is select distinct table_name, partition_name
5 from user_tab_partitions
6 where partition_name
7 like '%'||to_char(sysdate- 10,'YYYY_MM')||'%'
8 order by table_name desc;
9 BEGIN
10 DBMS_SESSION.SET_NLS('NLS_DATE_FORMAT','''DD/MM/YYYY HH24:MI:SS''');
11 for rec in c1 LOOP
12 v_lista_particoes (c1%rowcount) := replace(rec.partition_name,to_char(sysdate-10,'YYYY_MM'),v_
13 declare
14 erro_part_existente EXCEPTION;
15 PRAGMA EXCEPTION_INIT(erro_part_existente, -14074);
16 BEGIN
17 EXECUTE IMMEDIATE 'ALTER TABLE '||rec.table_name||' ADD PARTITION '||v_lista_particoes (c1%ro
18 exception
19 when erro_part_existente THEN
20 -- INSERE BLOCO DE ENVIO DE E-MAIL INFORMANDO Q PARTIÇÃO JA EXISTE.
21 END;
22 end loop;
23 -- INSERE BLOCO DE ENVIO DE E-MAIL PARA CONFIRMAR A CRIAÇÃO DAS PARTIÇÕES..
24 exception
25 when others then
26 -- INSERE BLOCO DE ENVIO DE E-MAIL PARA INFORMAR ERRO NA CRIAÇÃO DAS PARTIÇÕES..
27* end SP_NOVA_PARTICAO;
SQL> /Advertência: Procedimento criado com erros de compilação.
SQL> SHOW ERRORS
Erros para PROCEDURE SP_NOVA_PARTICAO:LINE/COL ERROR
21/1 PLS-00103: Encontrado o símbolo "END" quando um dos seguintes
símbolos era esperado:
begin case declare exit for goto if loop mod null pragma
raise return select update while with<< close current delete fetch lock insert open rollback savepoint set sql execute commit forall merge pipe27/1 PLS-00103: Encontrado o símbolo "END" quando um dos seguintes
símbolos era esperado:LINE/COL ERROR
begin case declare exit for goto if loop mod null pragma raise return select update while with < </code>ABÇ
-
AutorPosts
- Você deve fazer login para responder a este tópico.