Pular para o conteúdo
  • Este tópico contém 1 resposta, 1 voz e foi atualizado pela última vez 8 anos, 8 meses atrás por Avatar de Thiago VilhenaThiago Vilhena.
Visualizando 2 posts - 1 até 2 (de 2 do total)
  • Autor
    Posts
  • #108062
    Avatar de Thiago VilhenaThiago Vilhena
    Participante

      Pessoal, Boa Tarde
      Estou tentando fazer uma procedure pra realizar o add partition mas estou com o erro ORA-14048: uma operação de manutenção da partição não pode ser combinada com outras operações
      toda vez que debugo, poderiam me ajudar, segue o código

      CREATE OR REPLACE PROCEDURE LF.XXXX is

      vano1 varchar2(4) := to_char(trunc(sysdate, 'year'), 'YYYY');
      vmes1 varchar2(2) := to_char(trunc(sysdate, 'month'), 'MM');
      vano2 varchar2(4);
      vmes2 varchar2(10);
      v_dt_inicial varchar2(10) := to_char(trunc(sysdate, 'month'), 'DD') || '/' ||
      to_char(sysdate, 'MM/YYYY');
      v_dt_final varchar2(10) := to_char(trunc(sysdate, 'month'), 'DD') || '/' ||
      to_char(sysdate, 'MM/YYYY');
      vNome_particao varchar2(7);
      vNome_particao_1 varchar2(7);
      vscript varchar2(2000);
      vAudit varchar2(255);
      v_cursor integer;

      begin
      v_cursor := dbms_sql.open_cursor;
      -- v_dt_inicial := to_char(add_months(sysdate, -1), 'dd/mm/yyyy');
      -- v_dt_final := to_char(add_months(sysdate, 0), 'dd/mm/yyyy');
      v_dt_inicial := '01/02/2016';
      v_dt_final := '29/02/2016';
      -- v_dt_final := to_char(add_months(v_dt_inicial, +1), 'dd/mm/yyyy');

      vmes1 := substr(v_dt_inicial, 4, 2);
      vano1 := substr(v_dt_inicial, 7, 4);
      vmes2 := substr(v_dt_final, 4, 2);
      vano2 := substr(v_dt_final, 7, 4);
      vNome_particao := vano1 || '_' || vmes1;
      vNome_particao_1 := vano2 || '-' || vmes2;
      vAudit := 'TB_SAS_AUDIT_' || vNome_particao;

      begin
      vscript := 'ALTER TABLE TB_SAS_AUDITORIA_T ADD PARTITION ' || vAudit ||
      ' VALUES LESS THAN(TO_DATE(''';
      vscript := vscript || vNome_particao_1 || '-01 00:00:00''';
      vscript := vscript || ',' || '''SYYYY-MM-DD HH24:MI:SS''';
      vscript := vscript || ',' || '''NLS_CALENDAR=GREGORIAN''';
      vscript := vscript ||
      ')) TABLESPACE TS_LMS_DATA_128M PCTFREE 10 PCTUSED 0 INITRANS 1 MAXTRANS 255 STORAGE (FREELISTS 15 FREELIST GROUPS 1) LOGGING )';

      --EXECUTE IMMEDIATE vscript;
      dbms_sql.parse(v_cursor, vscript, dbms_sql.native);
      dbms_output.put_line(vscript);
      end;
      end XXXX;
      /

      Attachments:
      #108067
      Avatar de Thiago VilhenaThiago Vilhena
      Participante

        Acertei, Coloquei um EXECUTE IMMEDIATE ‘ALTER SESSION SET NLS_DATE_FORMAT = ”DD/MM/YYYY” ‘;

        e na variavel vscript no final tirei o ) depois do logging ai parou com o erro

      Visualizando 2 posts - 1 até 2 (de 2 do total)
      • Você deve fazer login para responder a este tópico.
      plugins premium WordPress