Loop Each Audit For Recomputing Score and Rating
DECLARE @tblAudits TABLE (
Id BIGINT IDENTITY(1, 1)
,AuditId BIGINT
,CreatedBy NVARCHAR(50)
)
INSERT INTO @tblAudits (
AuditId
,CreatedBy
)
SELECT a.Id
,a.CreatedBy
FROM dbo.Audit a
INNER JOIN dbo.AuditStatusMaster asm ON a.AuditStatusId = asm.Id
AND asm.[Key] IN (
'AC'
,'CC'
,'ACKED'
,'COINP'
)
WHERE a.IsActive = 1
ORDER BY a.Id
DECLARE @i INT = 1
DECLARE @rCount INT = 0
--
DECLARE @lAuditId BIGINT = 0
DECLARE @lCreatedBy NVARCHAR(50)
SELECT @rCount = count(1)
FROM @tblAudits
WHILE (@i <= @rCount)
BEGIN
SELECT @lAuditId = ta.AuditId
,@lCreatedBy = ta.CreatedBy
FROM @tblAudits ta
WHERE ta.Id = @i
EXEC USP_CalculateAuditScoreMaster @auditId = @lAuditId
,@logInUserEmpId = @lCreatedBy
,@changeStatus = 0
SET @i = @i + 1;
END