Categorias: Todos - while - case

por Alex Chasi 4 anos atrás

295

SENTENCIAS DE CONTROL EN SQLSERVER AUTOR: CHASI IMBAQUINGO ALEX MAURICIO REBOTE S5

SQL Server ofrece varias sentencias de control que permiten manejar la ejecución de las consultas de manera flexible y eficiente. Una de estas es la instrucción GOTO, que permite marcar un segmento de código y ejecutarlo en cualquier momento.

SENTENCIAS DE CONTROL EN SQLSERVER AUTOR: CHASI IMBAQUINGO ALEX MAURICIO REBOTE S5

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