T-SQL ETL Best Practices - CLEAR History

CREATE PROCEDURE [eform].[CLEAR_ExceptionPolicyCorrectionPlan_HISTORY]

@P_RETAIN_HISTORY_DAYS INT = 7

AS

BEGIN

SET NOCOUNT ON;


DECLARE

@TODAY DATE = GETDATE()

, @RETAIN_HISTORY_DATE DATE

, @MAX_STAGE_ID INT;


SET @RETAIN_HISTORY_DATE = DATEADD(day, (@P_RETAIN_HISTORY_DAYS * -1), @TODAY);


SELECT

@MAX_STAGE_ID = MAX(StageID)

FROM [eform].[ExceptionPolicyCorrectionPlan_LOG]

WHERE LoadDateTime < @RETAIN_HISTORY_DATE;


IF @MAX_STAGE_ID IS NULL

RETURN;


DELETE <HISTORY-TABLE>
WHERE StageID <= @MAX_STAGE_ID;


 

Comments

Popular posts from this blog

Using sp_executesql with OPENQUERY

Executing Remote Queries Safely and Efficiently with sp_executesql