Sentencias de control SQL

IF

Permite la ejecución de una o varias líneas de código según una condición especificada en la cláusula IF, en caso de que la condición sea verdadera se ejecuta el bloque de código, caso contrario se ejecuta el bloque de código especificado en la cláusula ELSE(opcional).

IF (<expresion>)
BEGIN
...
END
ELSE IF (<expresion>)
BEGIN
...
END
ELSE
BEGIN
...
END

WHILE

El bucle WHILE se repite mientras expresión se evalué como verdadero.
Es el único tipo de bucle del que dispone Transact SQL

WHILE <expresión>
BEGIN

END

CASE

La sentencia CASE permite evaluar diferentes opciones, por cada opción se realiza una instrucción específica

CASE <expresion>
WHEN <valor_expresion> THEN <valor_devuelto>
WHEN <valor_expresion> THEN <valor_devuelto>
ELSE <valor_devuelto> -- Valor por defecto
END

GOTO

La sentencia goto nos permite desviar el flujo de ejecución hacia una etiqueta. se desaconseja el uso GOTO, recomendándose el uso de TRY - CATCH para la gestión de errores

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'