Uso práctico de MERGE en procedimientos almacenados SQL

Clase 12 de 31Curso 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.

  1. Definir parámetros: Primero, debemos crear tres parámetros que correspondan con las columnas de nuestra tabla target, por ejemplo: codigo, nombre y puntos.

  2. Sintaxis básica de MERGE: La estructura del comando MERGE 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);
  1. 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 columna puntos, el MERGE 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 tabla target.

¿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!