Está en la página 1de 11

SQL Server for Analytics

5/08/2021
Sesión 06 Procedimientos Almacenados | Pivots

• Variables
• Instrucciones Begin/End - IF/ELSE
• Clausula Into y Tablas Temporales
• Procedimiento Almacenado
• Pivot de una tabla
• Unpivot de una tabla
¿Qué es una variable?
• Una variable es un espacio en memoria con un valor.
• El valor puede cambiar durante la ejecución de un proceso.
• SQL Server 2017 tiene 2 tipos de variables:
• Locales: definidas por el programador.
• Globales: definidas por el gestor o motor de base de datos.

• El nombre de la variable local empieza con "@“, luego el nombre y tipo de dato.
• Una variable tiene el valor NULL y se le asigna un valor con la sentencia SELECT
o SET.

Sintaxis:
Declare @Variable TipoDato
Control de Flujo Begin/end – IF/Else
Begin / End If / Else

Se utiliza para introducir una


condición que determina la
Se utiliza para agrupar ejecución condicional de otras
una serie de instrucciones.
instrucciones, de esta
manera, considerarse como IF EXPRESION_BOLEANA
un solo bloque de código. BEGIN
INSTRUCCIONES…
BEGIN END
BLOQUE DE INSTRUCCIONES ELSE
BEGIN
END
INSTRUCCIONES…
END
Cláusula Into y Tablas Temporales
Cláusula INTO Tablas Temporales

Sirve Para copiar los Las tablas temporales son


datos de una tabla a tablas que las crea el
usuario temporalmente para
otra resolver problemas complejos
donde se necesita almacenar
la información en un estado
Sintaxis: intermedio. Hay dos tipos de
tablas temporales: Locales y
Globales
Select Campo1, campo2, campo3,…
Into NombreNuevaTabla
Tabla Temporal Local:
From TablaOrigen
#TablaLocal
Where
Condición
Tabla Temporal Global:
##TablaGlobal
Procedimientos Almacenados
• Es un Conjunto de instrucciones que permiten implementar un proceso completo de
código.
• Puede contener parámetros, invocar otros procedimientos, devolver un valor,entre
otros.

-- Sintaxis
CREATE PROCEDURE NOMBRE_PROCEDIMIENTO AS [SQL_STATEMENTS]
Procedimientos Almacenados

-- Sintaxis con parámetro

CREATE PROCEDURE nombreProcedimiento


@Variable TipodeDato= Valor Cadena o numérico
AS
SELECT Campo1, Campo2, Campo3, Campo4
FROM Tabla
WHERE Condición = @Variable
Consulta Pivot
Permite rotar datos de filas(visualizadas en vertical) a columnas(visualizadas en
horizontal).

Sintaxis:
SELECT (ColumnNames)
FROM (TableName)
PIVOT
(
AggregateFunction(ColumnToBeAggregated)
FOR PivotColumn IN (PivotColumnValues)
) AS (Alias) //Alias is a temporary name for a table
Consulta Unpivot
Permite rotar datos de columnas(visualizadas en horizontal) a filas(visualizadas en
vertical).

Sintaxis:
SELECT (ColumnNames)
FROM (TableName)
UNPIVOT
(
AggregateFunction(ColumnToBeAggregated)
FOR PivotColumn IN (PivotColumnValues)
) AS (Alias)
EJERCICIOS

También podría gustarte