Sentencias de Control SQL Server - Mapa Mental

Sentencias de Control SQL Server

Sentencia de control IF

La sentencia condicional IF permite evaluar una expresión booleana, y ejecutar las operaciones contenidas en el bloque formado por BEGIN END

Ejemplo:
DECLARE @PAIS INT,
@DESCRIPCION VARCHAR(255)
SET @PAIS = 5
SET @DESCRIPCION = 'ESPAÑA'
IF EXISTS(SELECT * FROM PAISES WHERE CODIGOPAIS = @PAIS)
BEGIN
UPDATE PAISES
SET DESCRIPCION = @DESCRIPCION
WHERE CODIGOPAIS = @PAIS
END
ELSE
BEGIN
INSERT INTO PAISES VALUES (@CODIGOPAIS, @DESCRIPCION)
END

Sentencia de control CASE

La estructura condicional CASE permite evaluar una expresión y devolver un valor u otro

Ejemplo:
DECLARE @WEB VARCHAR(100)
@DIMINUTIVO VARCHAR(3)
SET @DIMINUTIVO = 'DJK'
SET @WEB = (CASE WHEN @DIMINUTIVO = 'DJK' THEN 'WEB DJK' ELSE 'OTRA WEB' END)
PRINT @WEB

Sentencia de Control WHILE

La sentencia While ejecuta una serie de sentencias en un bucle mientras una condición es verdadera

Ejemplo:
DECLARE @Recibo int
WHILE EXISTS (SELECT * FROM RECIBOS WHERE PENDIENTE = 'S')
BEGIN
SET @Recibo = (SELECT TOP 1 CO_RECIBO FROM RECIBOS WHERE PENDIENTE = 'S')
UPDATE RECIBOS
SET PENDIENTE = 'N'
WHERE CO_RECIBO = @Recibo
END

Estructura GOTO

La sentencia GOTO nos permite desviar el flujo de ejecución hacia una etiqueta. Fue muy utilizada en versiones anteriores de SQL Server conjuntamente con la variable de sistema @@ERROR para el control de errores.

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 PRODUJO UN ERROR'

Jorge García

點擊這裡將思維導圖置中。