Declare @Contador int
set @Contador = 10
while (@Contador > 0)
begin
print '@Contador = ' + CONVERT(NVARCHAR,@Contador)
set @Contador = @Contador -1
end
WHILE
BEGIN
...
END
El bucle WHILE se repite mientras expresión se evalué como verdadero.
Estructura condicional IF
DECLARE @TotalProductos INT
SELECT @TotalProductos = COUNT(*) FROM Products
IF @TotalProductos > 100
PRINT 'Existen Mas De 100 Productos'
ELSE
PRINT 'Existen Menos De 100 Productos'
IF ()
BEGIN
...
END
ELSE IF ()
BEGIN
...
END
ELSE
BEGIN
...
END
La estructura condicional IF permite evaluar una expresión booleana (resultado SI - NO), y ejecutar las operaciones contenidas en el bloque formado por BEGIN END.
Estructura GOTO
Ejemplo
DECLARE @divisor int,
@dividendo int,
@resultado int
SET @dividendo = 100
SET @divisor = 0
SET @resultado = @dividendo/@divisor
IF @@ERROR > 0
GOTO error
PRINT 'No hay error'
RETURN
error:
PRINT 'Se ha producido una division por cero'
La sentencia GOTO nos permite desviar el flujo de ejecución hacia una etiqueta. Fué muy utilizada en versiones anteriores de SQL Server conjuntamente con la variable de sistema @@ERROR para el control de errores.
Estructura condicional CASE
Ejemplo:
Select Precio =
CASE
WHEN UnitPrice is null THEN 'Desconocido'
WHEN UnitPrice < 10 THEN 'PRECIO ALTO'
WHEN UnitPrice > 10 THEN 'PRECIO BAJO'
ELSE 'Cuesta Exactamente 10'
END, ProductName
from products
Sintaxis
CASE
WHEN THEN
WHEN THEN
ELSE -- Valor por defecto
END
La estructura condicional CASE permite evaluar una expresión y devolver un valor u otro.