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