Tabela de conteúdos

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. :-)


Voltar