Script's - Base Files
Os scripts contidos nesta página irão realizar os seguintes processos na base “FILES” do cliente:
1 - Inserir o script pai “Limpeza da base files - arquivos vencidos (executado mensalmente)“
2 - Desativar arquivos com data de validade excedida
3 - Limpar a tabela TB_ARQUIVO_ENTIDADE com arquivos onde a data de validade está excedida
4 - Limpar a tabela TB_ARQUIVO com arquivos onde a data de validade está excedida
SQL Server
Inserir o script pai “Limpeza da base files - arquivos vencidos (executado mensalmente)”:
IF (SELECT COUNT(*) FROM TB_SCRIPT_AGENDADO WHERE SCR_DESCRI = 'Limpeza da base files - arquivos vencidos (executado mensalmente)' AND SCR_TIPO_DONO = 'PADRAO') = 0 INSERT INTO TB_SCRIPT_AGENDADO (SCR_DESCRI,SCR_DATABASE_JDBC,SCR_TIPO_DONO,SCR_DATA_PROX_EXECUCAO,ATIVO,DATA_ULT_ALTERACAO,USUARIO_ULT_ALTERACAO,SCR_PERIODICIDADE,SCR_DIADASEMANA,SCR_HORA_EXECUCAO) VALUES ('Limpeza da base files - arquivos vencidos (executado mensalmente)','EDUSOFT_BASE','PADRAO',DBO.DATEONLY(GETDATE()-1),1,GETDATE(),'SCRIPT AGENDADO','MENSAL','SAB',DBO.DATEONLY(GETDATE()-1)) GO
Desativar arquivos com data de validade excedida:
IF (SELECT COUNT(*) FROM TB_SCRIPT_AGENDADO_DET WHERE SCD_DESCRI = 'Update TB_ARQUIVO desativando arquivos com data de validade excedida' AND SCD_SCRID = (SELECT SCR_ID FROM TB_SCRIPT_AGENDADO WHERE SCR_DESCRI = 'Limpeza da base files - arquivos vencidos (executado mensalmente)' AND SCR_TIPO_DONO = 'PADRAO')) = 0 INSERT INTO TB_SCRIPT_AGENDADO_DET (SCD_SCRID,SCD_DESCRI,SCD_SCRIPT,SCD_ORDEM,ATIVO,DATA_ULT_ALTERACAO,USUARIO_ULT_ALTERACAO) VALUES ( (SELECT SCR_ID FROM TB_SCRIPT_AGENDADO WHERE SCR_DESCRI = 'Limpeza da base files - arquivos vencidos (executado mensalmente)' AND SCR_TIPO_DONO = 'PADRAO'), 'Update TB_ARQUIVO desativando arquivos com data de validade excedida', 'UPDATE TB_ARQUIVO set ARQ_CODTEL = ''EXCARQVENC_LIMPBASEFILES'' WHERE ARQ_ID IN (SELECT ARQ_ID FROM TB_ARQUIVO ARQ INNER JOIN TB_ARQUIVO_ENTIDADE AEN ON AEN_ARQID = ARQ_ID WHERE AEN_DATA_VALIDADE IS NOT NULL AND AEN_DATA_VALIDADE < (GETDATE() - 1))', 1,1,GETDATE(),'SCRIPT AGENDADO' ) GO
Limpar a tabela TB_ARQUIVO_ENTIDADE com arquivos onde a data de validade está excedida:
IF (SELECT COUNT(*) FROM TB_SCRIPT_AGENDADO_DET WHERE SCD_DESCRI = 'Limpa a TB_ARQUIVO_ENTIDADE com arquivos onde a data de validade está excedida' AND SCD_SCRID = (SELECT SCR_ID FROM TB_SCRIPT_AGENDADO WHERE SCR_DESCRI = 'Limpeza da base files - arquivos vencidos (executado mensalmente)' AND SCR_TIPO_DONO = 'PADRAO')) = 0 INSERT INTO TB_SCRIPT_AGENDADO_DET (SCD_SCRID,SCD_DESCRI,SCD_SCRIPT,SCD_ORDEM,ATIVO,DATA_ULT_ALTERACAO,USUARIO_ULT_ALTERACAO) VALUES ( (SELECT SCR_ID FROM TB_SCRIPT_AGENDADO WHERE SCR_DESCRI = 'Limpeza da base files - arquivos vencidos (executado mensalmente)' AND SCR_TIPO_DONO = 'PADRAO'), 'Limpa a TB_ARQUIVO_ENTIDADE com arquivos onde a data de validade está excedida', 'DELETE FROM TB_ARQUIVO_ENTIDADE WHERE AEN_DATA_VALIDADE IS NOT NULL AND AEN_DATA_VALIDADE < (GETDATE() -1)', 2,1,GETDATE(),'SCRIPT AGENDADO' ) GO
Limpar a tabela TB_ARQUIVO com arquivos onde a data de validade está excedida:
IF (SELECT COUNT(*) FROM TB_SCRIPT_AGENDADO_DET WHERE SCD_DESCRI = 'Limpa a TB_ARQUIVO com arquivos onde a data de validade está excedida' AND SCD_SCRID = (SELECT SCR_ID FROM TB_SCRIPT_AGENDADO WHERE SCR_DESCRI = 'Limpeza da base files - arquivos vencidos (executado mensalmente)' AND SCR_TIPO_DONO = 'PADRAO')) = 0 INSERT INTO TB_SCRIPT_AGENDADO_DET (SCD_SCRID,SCD_DESCRI,SCD_SCRIPT,SCD_ORDEM,ATIVO,DATA_ULT_ALTERACAO,USUARIO_ULT_ALTERACAO) VALUES ( (SELECT SCR_ID FROM TB_SCRIPT_AGENDADO WHERE SCR_DESCRI = 'Limpeza da base files - arquivos vencidos (executado mensalmente)' AND SCR_TIPO_DONO = 'PADRAO'), 'Limpa a TB_ARQUIVO com arquivos onde a data de validade está excedida', 'DELETE FROM TB_ARQUIVO WHERE ARQ_CODTEL = ''EXCARQVENC_LIMPBASEFILES''', 3,1,GETDATE(),'SCRIPT AGENDADO' ) GO
ORACLE
Inserir o script pai “Limpeza da base files - arquivos vencidos (executado mensalmente)”:
DECLARE V_COUNT NUMBER (10,0); BEGIN BEGIN SELECT COUNT(*) INTO V_COUNT FROM TB_SCRIPT_AGENDADO WHERE SCR_DESCRI = 'Limpeza da base files - arquivos vencidos (executado mensalmente)' AND SCR_TIPO_DONO = 'PADRAO'; EXCEPTION WHEN NO_DATA_FOUND THEN V_COUNT :=0; END; IF (V_COUNT = 0) THEN EXECUTE IMMEDIATE 'INSERT INTO TB_SCRIPT_AGENDADO (SCR_ID,SCR_DESCRI,SCR_DATABASE_JDBC,SCR_TIPO_DONO,SCR_DATA_PROX_EXECUCAO,ATIVO,DATA_ULT_ALTERACAO,USUARIO_ULT_ALTERACAO,SCR_PERIODICIDADE,SCR_DIADASEMANA,SCR_HORA_EXECUCAO) VALUES (SCR_ID.nextval,''Limpeza da base files - arquivos vencidos (executado mensalmente)'',''EDUSOFT_BASE'',''PADRAO'',DATEONLY(SYSDATE-1),1,SYSDATE,''SCRIPT AGENDADO'',''MENSAL'',''SAB'',DATEONLY(SYSDATE-1))'; END IF; END;
Desativar arquivos com data de validade excedida:
DECLARE V_COUNT NUMBER (10,0); BEGIN BEGIN SELECT COUNT(*) INTO V_COUNT FROM TB_SCRIPT_AGENDADO_DET WHERE SCD_DESCRI = 'Update TB_ARQUIVO desativando arquivos com data de validade excedida' AND SCD_SCRID = (SELECT SCR_ID FROM TB_SCRIPT_AGENDADO WHERE SCR_DESCRI = 'Limpeza da base files - arquivos vencidos (executado mensalmente)' AND SCR_TIPO_DONO = 'PADRAO'); EXCEPTION WHEN NO_DATA_FOUND THEN V_COUNT :=0; END; IF (V_COUNT = 0) THEN EXECUTE IMMEDIATE 'INSERT INTO TB_SCRIPT_AGENDADO_DET (SCD_ID,SCD_SCRID,SCD_DESCRI,SCD_SCRIPT,SCD_ORDEM,ATIVO,USUARIO_ULT_ALTERACAO,DATA_ULT_ALTERACAO) VALUES (SCD_ID.nextval, (select SCR_ID from TB_SCRIPT_AGENDADO WHERE SCR_DESCRI = ''Limpeza da base files - arquivos vencidos (executado mensalmente)'' AND SCR_TIPO_DONO = ''PADRAO''), ''Update TB_ARQUIVO desativando arquivos com data de validade excedida'', ''UPDATE TB_ARQUIVO set ARQ_CODTEL = ''''EXCARQVENC_LIMPBASEFILES'''' WHERE ARQ_ID IN (SELECT ARQ_ID FROM TB_ARQUIVO ARQ INNER JOIN TB_ARQUIVO_ENTIDADE AEN ON AEN_ARQID = ARQ_ID WHERE AEN_DATA_VALIDADE IS NOT NULL AND AEN_DATA_VALIDADE < (SYSDATE - 1))'', 1,1,''SCRIPT AGENDADO'',SYSDATE)'; END IF; END;
Limpar a tabela TB_ARQUIVO_ENTIDADE com arquivos onde a data de validade está excedida:
DECLARE V_COUNT NUMBER (10,0); BEGIN BEGIN SELECT COUNT(*) INTO V_COUNT FROM TB_SCRIPT_AGENDADO_DET WHERE SCD_DESCRI = 'Limpa a TB_ARQUIVO_ENTIDADE com arquivos onde a data de validade está excedida' AND SCD_SCRID = (SELECT SCR_ID FROM TB_SCRIPT_AGENDADO WHERE SCR_DESCRI = 'Limpeza da base files - arquivos vencidos (executado mensalmente)' AND SCR_TIPO_DONO = 'PADRAO'); EXCEPTION WHEN NO_DATA_FOUND THEN V_COUNT :=0; END; IF (V_COUNT = 0) THEN EXECUTE IMMEDIATE 'INSERT INTO TB_SCRIPT_AGENDADO_DET (SCD_ID,SCD_SCRID,SCD_DESCRI,SCD_SCRIPT,SCD_ORDEM,ATIVO,DATA_ULT_ALTERACAO,USUARIO_ULT_ALTERACAO)VALUES (SCD_ID.nextval, (select SCR_ID from TB_SCRIPT_AGENDADO WHERE SCR_DESCRI = ''Limpeza da base files - arquivos vencidos (executado mensalmente)'' AND SCR_TIPO_DONO = ''PADRAO''), ''Limpa a TB_ARQUIVO_ENTIDADE com arquivos onde a data de validade está excedida'', ''DELETE FROM TB_ARQUIVO_ENTIDADE WHERE AEN_DATA_VALIDADE IS NOT NULL AND AEN_DATA_VALIDADE < (SYSDATE -1)'', 2,1,SYSDATE,''SCRIPT AGENDADO'' )'; END IF; END;
Limpar a tabela TB_ARQUIVO com arquivos onde a data de validade está excedida:
DECLARE V_COUNT NUMBER (10,0); BEGIN BEGIN SELECT COUNT(*) INTO V_COUNT FROM TB_SCRIPT_AGENDADO_DET WHERE SCD_DESCRI = 'Limpa a TB_ARQUIVO com arquivos onde a data de validade está excedida' AND SCD_SCRID = (SELECT SCR_ID FROM TB_SCRIPT_AGENDADO WHERE SCR_DESCRI = 'Limpeza da base files - arquivos vencidos (executado mensalmente)' AND SCR_TIPO_DONO = 'PADRAO'); EXCEPTION WHEN NO_DATA_FOUND THEN V_COUNT :=0; END; IF (V_COUNT = 0) THEN EXECUTE IMMEDIATE 'INSERT INTO TB_SCRIPT_AGENDADO_DET (SCD_ID,SCD_SCRID,SCD_DESCRI,SCD_SCRIPT,SCD_ORDEM,ATIVO,USUARIO_ULT_ALTERACAO,DATA_ULT_ALTERACAO) VALUES (SCD_ID.nextval, (select SCR_ID from TB_SCRIPT_AGENDADO WHERE SCR_DESCRI = ''Limpeza da base files - arquivos vencidos (executado mensalmente)'' AND SCR_TIPO_DONO = ''PADRAO''), ''Limpa a TB_ARQUIVO com arquivos onde a data de validade está excedida'', ''DELETE FROM TB_ARQUIVO WHERE ARQ_CODTEL = ''''EXCARQVENC_LIMPBASEFILES'''''', 3,1,''SCRIPT AGENDADO'',SYSDATE)'; END IF; END;
Ainda há dúvidas? Se você preferir retire suas dúvidas com o nosso suporte, clique aqui e abra um chamado para atendimento.