Olá pessoal!
Hoje vamos ver o que se pode fazer com o comando Merge, utilizado no MS SQL SERVER, ele ajuda a mesclar dados entre duas fontes (origem, destino).
É possível atualizar, deletar e inserir dados, abaixo um exemplo prático.
USE TEMPDB
GO
–Criação da tabela temporária para teste;
CREATE TABLE #TMPA (Id INT Identity not null, Nome VARCHAR(100))
–Inserindo os dados de teste na tabela de destino
INSERT #TMPA VALUES (‘Felippe’), (‘Lucas’)
–Tabela de origem
CREATE TABLE #TMPB (Nome VARCHAR(100))
INSERT #TMPB VALUES (‘Pedro’), (‘Valéria’), (‘Daniela’), (‘Nicolly’)
–Realizando Merge com INSERT e UPDATE para dados já existentes;
MERGE #TMPA AS ta
USING (SELECT nome FROM #TMPB) AS tb
ON (ta.nome = tb.nome)
WHEN NOT MATCHED THEN
INSERT (nome)
VALUES (tb.Nome)
WHEN MATCHED THEN
UPDATE SET ta.nome = tb.nome;
Após realizar o merge, veja como ficou:
Bom, isso foi um exemplo básico, apenas para saber como aplicar o Merge no seu desenvolvimento, para saber sobre outros comandos possíveis com merge consulte MERGE (Transact-SQL).
Até mais.
Felippe Oliveira




