Home
Loops with at most one iteration should be refactored
Rule description
- Loops with at most one iteration should be refactored
Non-compliant Code Example
WHILE ( SELECT AVG(ListPrice) FROM dbo.DimProduct) < 300 --Non compliant code (While loop will break after first iteration)
BEGIN
UPDATE dbo.DimProduct SET ListPrice = ListPrice * 2;
SELECT MAX ( ListPrice) FROM dbo.DimProduct;
BREAK;
END
Compliant Code Example
WHILE ( SELECT AVG(ListPrice) FROM dbo.DimProduct) < 300 --Compliant code (While loop will break based on the IF condition result)
BEGIN
UPDATE dbo.DimProduct
SET ListPrice = ListPrice * 2;
SELECT MAX ( ListPrice) FROM dbo.DimProduct;
IF ( SELECT MAX (ListPrice) FROM dbo.DimProduct) > 500
BREAK;
END