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
Post a Comment