Q&A for active researchers, academics and students of physics
CREATE TABLE #Tabela1 ( Nome VARCHAR (100) , Cadastro DATETIME , Alteracao DATETIME , Ativo BIT) CREATE TABLE #Tabela2 ( Nome VARCHAR(100) , Twitter VARCHAR(100)) --TABELA/VIEW DESTINO MERGE #Tabela1 AS Destino --TABELA/VIEW/STATEMENT DESTINO USING #Tabela2 AS Origem --COLUNA CHAVE PARA LIGACAO ON Destino.Nome = Origem.Nome --QUANDO NAO TEM REGISTRO NO DESTINO E TEM NA ORIGEM WHEN MATCHED THEN UPDATE SET Ativo = 0, Alteracao = GETDATE() --QUANDO TEM NO DESTINO E NAO TEM NA ORIGEM WHEN NOT MATCHED THEN INSERT (Nome, Cadastro, Ativo) VALUES (Origem.Nome, Getdate(),1) --TEM REGISTRO NO DESTINO E NAO TEM NA ORIGEM DIFERENTE DE JOAO WHEN NOT MATCHED BY SOURCE AND Nome <>'Joao' THEN UPDATE SET Ativo = NULL, Alteracao = GETDATE(); select * from #Tabela1