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,nombreypuntos. -
Sintaxis básica de
MERGE: La estructura del comandoMERGEcomenzará 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
targetpero con un nuevo valor para la columnapuntos, elMERGErealizará una actualización en lugar de una inserción. -
Añadir un nuevo registro: Prueba con un registro completamente nuevo. Observa cómo el
MERGEinserta 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
MERGEen 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!