SQL: Comando MERGE 🔗

🔹 Comando MERGE

O comando MERGE no SQL permite combinar operações de INSERT, UPDATE e DELETE em uma única instrução. Ele é útil quando precisamos comparar dados entre duas tabelas e aplicar mudanças automaticamente conforme critérios estabelecidos.

🎯 Utilidade do MERGE

O MERGE é amplamente utilizado em:

  • ETL (Extract, Transform, Load): Processos de integração de dados.

  • Sincronização de Dados: Atualização de tabelas com novas informações.

  • Manutenção de Dados: Inserção de registros ausentes, atualização de registros existentes e remoção de dados obsoletos.

📝 Exemplo de Uso

Suponha que temos duas tabelas:

  • Clientes_Novos: Contém novos clientes que precisam ser adicionados ou atualizados.

  • Clientes: Base principal onde os dados precisam ser mesclados.

MERGE INTO Clientes AS C
USING Clientes_Novos AS CN
ON C.id = CN.id
WHEN MATCHED THEN
    UPDATE SET C.nome = CN.nome, C.email = CN.email
WHEN NOT MATCHED THEN
    INSERT (id, nome, email) VALUES (CN.id, CN.nome, CN.email);

🧐 Explicação

  1. MERGE INTO Clientes AS C – Define a tabela alvo onde as mudanças ocorrerão.

  2. USING Clientes_Novos AS CN – Especifica a origem dos novos dados.

  3. ON C.id = CN.id – Define a condição de correspondência.

  4. WHEN MATCHED THEN UPDATE – Atualiza registros existentes.

  5. WHEN NOT MATCHED THEN INSERT – Insere novos registros.

⚙️ Aplicação Prática do MERGE

Esse comando é útil para:

  • Atualização de estoque: Quando um novo lote de produtos chega e precisamos atualizar preços e quantidades.

  • Gestão de usuários: Sincronização de cadastros entre diferentes sistemas.

  • Processamento de pedidos: Unificação de pedidos pendentes e concluídos em um banco de dados centralizado.

🏁 Conclusão

O MERGE simplifica operações que normalmente exigiriam múltiplas instruções INSERT, UPDATE e DELETE, tornando as consultas mais eficientes e fáceis de manter. Ele é especialmente útil para integração e sincronização de dados em larga escala.

👉 Dica: Sempre teste o comando MERGE em um ambiente de desenvolvimento antes de aplicá-lo em produção para evitar atualizações indesejadas! 🚀

Data de Publicação: 15-02-2025

Categoria: SQL