Está en la página 1de 11

SQL Avanzado

Estructuras SQL en TRANSACT


SQL
Condicionales y bucles

C. Román 2
Una variable es una entidad a la que se asigna
un valor, pueden ser locales o globales.
Variables globales, son predefinidas por el
sistema:
@@ERROR Contiene 0 si la última transacción se
ejecutó de forma correcta; en caso contrario, contiene el
Variables último número de error generado por el sistema.
globales @@IDENTITY Contiene el último valor insertado en una
columna IDENTITY mediante una instrucción insert.
@@VERSION Devuelve la Versión del SQL Server.
@@SERVERNAME Devuelve el Nombre del Servidor.
@@LANGUAGE Devuelve el nombre del idioma en uso.
@@MAX_CONNECTIONS Retorna la cantidad máxima
de conexiones permitidas

C. Román 3
Variables locales en TRANSACT SQL, son
definidas por el usuario, su declaración y
asignación tiene la siguiente forma:
DECLARE @variable tipo dato
SET @variable= valor
Variables locales Ejemplo
DECLARE @precio DECIMAL
SET @precio = 50
SELECT * FROM compra.productos
WHERE P.PRECIOUNIDAD > @precio

C. Román 4
Se utiliza para definir una condición que
determina si se ejecutará la instrucción SQL
siguiente o una instrucción alternativa.
Sintaxis
IF expresión
Condicionales BEGIN
Estructura IF ...
END
ELSE
BEGIN
...
END

C. Román 5
Ejemplo
DECLARE @IDEMP INT, @CANTIDAD INT
SET @IDEMP = 6
SELECT @CANTIDAD = COUNT(*) FROM
VENTAS.PEDIDOSCABE WHERE IDEMPLEADO =
@IDEMP
IF @CANTIDAD = 0
Condicionales PRINT 'EL EMPLEADO NO HA REALIZADO
Estructura IF NINGÚN PEDIDO‘
ELSE IF @CANTIDAD = 1
PRINT ‘EL EMPLEADO HA REALIZADO 1
PEDIDO‘
ELSE
PRINT ‘EL EMPLEADO HA REALIZADO
PEDIDOS‘
GO

C. Román 6
Evalúa una lista de condiciones y devuelve una
de las varias expresiones de resultado posibles.
Sintaxis
CASE expresión
Condicionales WHEN valor_expresión1 THEN
Estructura CASE valor_devuelto1
WHEN valor_expresión2 THEN
valor_devuelto2
ELSE valor_devuelto3
END

C. Román 7
Ejemplo
SELECT (
CASE TRATAMIENTO
WHEN 'SRTA' THEN 'SEÑORITA‘
Condicionales WHEN 'SR' THEN 'SEÑOR‘
Estructura CASE WHEN 'DR' THEN 'DOCTOR‘
WHEN 'SRA' THEN 'SEÑORA‘
ELSE ‘NO APLICA‘
END),APELLIDOS, NOMBRE FROM
RRHH.EMPLEADOS ORDER BY 1

C. Román 8
Ejecuta en forma repetitiva un conjunto o
bloque de instrucciones SQL siempre que la
condición especificada sea verdadera.
Bucles Sintaxis
Estructura WHILE expresión
WHILE BEGIN
...
END

C. Román 9
Ejemplo
DECLARE @COUNTER INT = 1
WHILE @COUNTER < 6
Bucles BEGIN
SELECT TOP(1) P.IDPRODUCTO,
Estructura P.NOMBREPRODUCTO, P.PRECIOUNIDAD
WHILE FROM PRODUCTOS P WHERE
IDPRODUCTO = @COUNTER
SET @COUNTER += 1
END

C. Román 10
BREAK permite salir del bucle WHILE.
CONTINUE hace que el bucle WHILE se inicie
de nuevo.
Sintaxis
Bucles WHILE expresión
Estructura BEGIN
WHILE expresion

BREAK
END

C. Román 11

También podría gustarte