Update com mais de uma tabela

Publicado: 3 de fevereiro de 2009 em T-SQL
Tags:

Olá pessoal, hoje vou postar um exemplo bem simples mas que vejo muita dúvida sobre isso nos fóruns e entre amigos.

Como fazer um update usando mais de uma tabela?

Abaixo segue script simples de como fazer:

–Cria as duas tabelas

create table #TB_1 (ID int primary key, NOME varchar(1))

create table #TB_2 (ID int primary key, NOME varchar(1))

 

–Insere alguns dados para teste

insert into #TB_1 (ID, NOME) select 1, ‘A’

insert into #TB_1 (ID, NOME) select 2, ‘B’

insert into #TB_1 (ID, NOME) select 3, ‘C’

 

insert into #TB_2 (ID, NOME) select 1, ‘D’
insert into #TB_2 (ID, NOME) select 2, ‘Z’
insert into #TB_2 (ID, NOME) select 3, ‘A’
 
–verifica os dados inseridos
select * from #TB_1
select * from #TB_2
 
–Atualiza #TB_2 para que todos os registros que se relacionam com #TB_1 fiquem iguais aos valores de #TB_1
update #TB_2
set
    #TB_2.NOME = #TB_1.NOME
from #TB_2
inner join #TB_1 on #TB_2.ID = #TB_1.ID
 
–Mostra que os dados de #TB_1 e #TB_2 agora são idênticos
select * from #TB_1
select * from #TB_2
 

Até a próxima pessoal.

Anúncios
comentários
  1. Anderson disse:

    dá até para usar ALIAS assim:update bset b.NOME = a.NOMEfrom #TB_2 binner join #TB_1 a on b.ID = a.ID

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s