Pular para o conteúdo

Fóruns SQL e PL/SQL Proc verifica particionamento Proc verifica particionamento

#94199
Thiago Vilhena
Participante

    BELEZA PESSOAL.. MEIO QUE CONSSEGUI FAZER A VALIDAÇÃO FICOU ASSIM

    CREATE OR REPLACE PROCEDURE THIAGO
    IS
    ANO_MES CHAR (6);
    ANO NUMBER(4);
    MES NUMBER(2);
    VERIFICA INTEGER;
    PARTICAO varchar2(15);
    BEGIN
    VERIFICA := 0 ;
    SELECT TO_CHAR(SYSDATE,'YYYYMM') INTO ANO_MES FROM DUAL;
    ANO:= SUBSTR(ANO_MES,1,4);
    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('ANTES SELECT');
    PARTICAO := 'COD';
    SELECT COUNT(*) INTO VERIFICA FROM ALL_TAB_PARTITIONS
    WHERE
    PARTITION_NAME = PARTICAO;
    DBMS_OUTPUT.PUT_LINE('DEPOIS DO SELECT');
    IF
    VERIFICA > 0
    THEN
    DBMS_OUTPUT.PUT_LINE('NAO EXECUTA');
    ELSE
    DBMS_OUTPUT.PUT_LINE('EXECUTA');
    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));
    --PARTICAO := 'DAT_LOG_'||ano||'_'|| lpad(mes,2,0);
    DBMS_OUTPUT.PUT_LINE('PARTICAO' || PARTICAO);
    EXCEPTION
    WHEN
    no_data_found THEN
    VERIFICA := 'N' ;
    dbms_output.put_line('NAO EXISTE PARTITION ' || VERIFICA);
    end;
    /

    AGORA EU VOU TENTAR FAZER COM QUE ESSA PROCEDURE LEIA 14 TABELAS, SAO 14 TABELAS QUE DEVEM SER PARTICIONADAS
    SE ALGUEM TIVER UMA IDEIA =D