SENTENCIAS DE CONTROL EN SQLSERVER
CASE
DECLARE @PAIS NVARCHAR(20)
SELECT @PAIS =
CASE 'PE'
WHEN 'PE' THEN 'PERU'
WHEN 'ME' THEN 'MEXICO'
WHEN 'PI' THEN 'PISCO'
ElSE 'No Existe Registro'
END
PRINT @PAIS
CASE
WHEN THEN
WHEN THEN
ELSE
END
La sentencia case evalua varias condiciones y de acuerdo a cada case realiza una acción determinada
RETURN
DECLARE @CONTADOR INT
SET @CONTADOR = 10
WHILE (@CONTADOR >0)
BEGIN
PRINT '@CONTADOR = ' + CONVERT(NVARCHAR,@CONTADOR)
SET @CONTADOR = @CONTADOR -1
IF (@CONTADOR = 5)
RETURN
END
PRINT 'FIN'
Pone fin la instrucción que se ejecuta
GOTO
DECLARE @Contador int;
SET @Contador = 1;
WHILE @Contador < 10
BEGIN
SELECT @Contador
IF @Contador = 4 GOTO Opcion_Uno –Jumps to the first branch.
IF @Contador = 5 GOTO Opcion_Dos–This will never execute.
SET @Contador = @Contador + 1
END
Opcion_Uno:
SELECT ‘Eligio opción uno.’
GOTO Salida; –Esto evitará que las opciones se ejecuten una despues de la otra
Opcion_Dos:
SELECT ‘Eligio opción dos.’
GOTO Salida; –Esto evitará que las opciones se ejecuten una despues de la otra
Opcion_Tres:
SELECT ‘Eligio opción tres.’;
GOTO Salida; –Esto evitará que las opciones se ejecuten una despues de la otra
Salida:
SELECT ‘Adios’;
Define the label:
label:
Alter the execution:
GOTO label
Etiqueta que nos permite marcar un segmento de consultas en la base de datos y nos permite ejecutarlo en cualquier parte de código
IF-ELSE
Begin Y End : es para colocar un segmento o bloque de codigo en el cuerpo del If O Else donde se crea conveniente
IF (SELECT COUNT(*) FROM Products WHERE UnitsInStock>=100)> 6
BEGIN
PRINT 'Existen Mas De 10 Productos Con Mas De 100 Unidades En Stock'
SELECT ProductName,UnitsInStock
FROM Products
WHERE UnitsInStock > 100
END
ELSE
PRINT 'No Hay Productos Con Mas De 100 Unidades En StocK'
DECLARE @TotalProductos INT
SELECT @TotalProductos = COUNT(*) FROM Products
IF @TotalProductos > 100
PRINT 'Existen Mas De 100 Productos'
ELSE
PRINT 'Existen Menos De 100 Productos'
Recuerden La BD Que Se Utiliza Es Northwind
IF
ELSE
Nos permite ejecutar instrucciones condicionales
WHILE
Ejemplo:
Declare @Contador int
set @Contador = 10
while (@Contador > 0)
begin
print '@Contador = ' + CONVERT(NVARCHAR,@Contador)
set @Contador = @Contador -1
end
Sintaxis
While
begin
end
El bucle sirve para ejecutar un conjunto de instrucciones mientras la condición se cumpla