Tags

,

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’)

SELECT * FROM #TMPA
merge_1

–Tabela de origem
CREATE TABLE #TMPB (Nome VARCHAR(100))

INSERT #TMPB VALUES (‘Pedro’), (‘Valéria’), (‘Daniela’), (‘Nicolly’)

SELECT * FROM #TMPB
merge_2

–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:

SELECT * FROM #TMPA
merge_3

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

 

Anúncios