› Fóruns › SQL e PL/SQL › Proc verifica particionamento › Proc verifica particionamento
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