Uso práctico de MERGE en procedimientos almacenados SQL
Clase 12 de 31 • Curso de Optimización de Bases de Datos en SQL Server
Resumen
¿Cómo utilizar el comando MERGE
de forma práctica en SQL?
El comando MERGE
en SQL se ha convertido en una herramienta valiosa para simplificar operaciones complejas de bases de datos. Permite realizar operaciones como actualizaciones, inserciones o eliminaciones de datos en una sola sentencia. En esta clase, exploraremos cómo implementar MERGE
como un procedimiento almacenado, pasando valores por parámetros sin usar una tabla fuente.
¿Cómo crear un procedimiento almacenado utilizando MERGE
?
Un procedimiento almacenado es una secuencia predefinida de comandos SQL que puede ser ejecutada por un llamado. Este enfoque puede ser sumamente práctico para gestionar operaciones recurrentes sobre datos. En este ejemplo, utilizaremos la base de datos Platzi y nos enfocaremos únicamente en la tabla target
.
-
Definir parámetros: Primero, debemos crear tres parámetros que correspondan con las columnas de nuestra tabla
target
, por ejemplo:codigo
,nombre
ypuntos
. -
Sintaxis básica de
MERGE
: La estructura del comandoMERGE
comenzará de la siguiente manera:
MERGE INTO target AS T
USING (VALUES (@codigo, @nombre, @puntos)) AS S (codigo, nombre, puntos)
ON T.codigo = S.codigo
WHEN MATCHED THEN
UPDATE SET T.nombre = S.nombre, T.puntos = S.puntos
WHEN NOT MATCHED THEN
INSERT (codigo, nombre, puntos) VALUES (S.codigo, S.nombre, S.puntos);
- Particularidades del ejemplo: En este caso, si un registro existe (
WHEN MATCHED
), se actualizará. Si no existe (WHEN NOT MATCHED
), se insertará un nuevo registro.
¿Qué pruebas realizar para entender mejor MERGE
?
Probar el procedimiento almacenado con diferentes conjuntos de datos y observar el comportamiento del MERGE
es crucial para comprender su funcionamiento.
-
Ejecutar el procedimiento con datos existentes: Si introduces un registro ya presente en la tabla
target
pero con un nuevo valor para la columnapuntos
, elMERGE
realizará una actualización en lugar de una inserción. -
Añadir un nuevo registro: Prueba con un registro completamente nuevo. Observa cómo el
MERGE
inserta este nuevo registro en la tablatarget
.
¿Dónde encontrar ejemplos para practicar?
En el archivo adjunto con este curso, encontrarás un ejemplo modificado de la práctica oficial de SQL que puedes utilizar con la base de datos Adventure Works 2019. Aquí puedes:
- Manipular consultas y procesos almacenados: Esto te permitirá experimentar con
MERGE
en un contexto más complejo, mejorando tus habilidades y confianza en el uso de este comando.
Recuerda que practicar estas lecciones con diferentes conjuntos de datos y condiciones te ayudará a afinar tus habilidades en SQL y te permitirá utilizar comandos como MERGE
con mayor eficacia en entornos reales y más complejos de producción. ¡Continúa aprendiendo y experimentando!