Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Whana

Update em 2 tabelas distintas

Recommended Posts

Olá pessoal..estou com um probleminha...quero fazer um update pois tenho campos que eu preciso alterar, sendo que estes estão em 2 tabelas diferentes, e estou meia enrolada, pq tá dando erro, e não sei mais o que fazer?Será que um de vcs, poderia me mandar me ajudar? Se for possível me mostrar pelo menos a sintaxe..pois não sei se estou fazendo certo..pelo menos eu acho ;) a minha é essa aqui: "update T093PUBL set IS_PUB=" & IS_PUB & ", DE_TIT_PUB='" &_ DE_TIT_PUB & "', CD_EDT='" & CD_EDT & "', AA_PUB='" & AA_PUB & "', EDC_PUB='" &_ EDC_PUB& "' where CD_PUB=" & CD_PUB inner join T093EDIT on CD_EDT=" & CD_EDT & "eu só quero o campo CD_EDT da tabela T093EDIT, para que os dados tenham integridade..e não estou conseguindo!Se alguém poder me ajudar...Ficarei agradecida!

Compartilhar este post


Link para o post
Compartilhar em outros sites

olá Whana,

neste caso você deve especificar o from para a tabela que você esta fazendo update

 

update T093PUBL set IS_PUB=" & IS_PUB & ", DE_TIT_PUB='" &_

DE_TIT_PUB & "', CD_EDT='" & CD_EDT & "', AA_PUB='" & AA_PUB & "', EDC_PUB='" &_

EDC_PUB& "' from T093PUBL where CD_PUB=" & CD_PUB inner join T093EDIT on CD_EDT=" & CD_EDT & "

 

 

falows

t++

Compartilhar este post


Link para o post
Compartilhar em outros sites

putz ali em cima esqueci de trocar de posição o WHERE com o INNER JOIN

update T093PUBL set 	IS_PUB=" & IS_PUB & ", 	DE_TIT_PUB='" DE_TIT_PUB & "', 	CD_EDT='" & CD_EDT & "', 	AA_PUB='" & AA_PUB & "', 	EDC_PUB='" & EDC_PUB& "' from T093PUBL inner join T093EDIT on CD_EDT=" & CD_EDT & "where CD_PUB=" & CD_PUB

Compartilhar este post


Link para o post
Compartilhar em outros sites

tive um tempinho aqui e fiz um exemplo... hehhe

set nocount on--criando tabelascreate table #clientes (clicod int, clinome varchar(30), catcod int, clilimcred money)create table #categoria (catcod int, catnome varchar(20), cattipo int)--inserindo categoriasinsert into #categoria (catcod, catnome, cattipo)values (1, 'Bar', 1)insert into #categoria (catcod, catnome, cattipo)values (2, 'Lanchonete', 1)insert into #categoria (catcod, catnome, cattipo)values (3, 'Armazem', 2)--listando todas categoriasselect * from  #categoria --inserindo clientesinsert into #clientes(clicod, clinome, catcod, clilimcred)values (1, 'Bar do Zé', 1, 2000)insert into #clientes(clicod, clinome, catcod, clilimcred)values (2, 'Bar do Moe', 2, 2000)insert into #clientes(clicod, clinome, catcod, clilimcred)values (3, 'Armazen Wayne', 3, 8000)--listando todos os clientesselect * from #clientes/*update com inner para somente os clientes que tem categoria do tipo = 1vamos aumentar o valor do campo clilimcred (limite crédito) em 10%*/update #clientes set clilimcred = clilimcred * 1.1 from #clientesinner join #categoria on #categoria.catcod = #clientes.catcodwhere cattipo = 1/*listando todos os clientes após o update, somente os dados dos clientesque tem categoria = 1 sofreram alteração no campo clilimcred*/select * from #clientes--matando as tabelasdrop table #categoria drop table #clientes

falowst++

Compartilhar este post


Link para o post
Compartilhar em outros sites

eriva..valeu viu..muito obrigado seu exemplo..foi show de BOlaTe ++!

tive um tempinho aqui e fiz um exemplo... hehhe

set nocount on--criando tabelascreate table #clientes (clicod int, clinome varchar(30), catcod int, clilimcred money)create table #categoria (catcod int, catnome varchar(20), cattipo int)--inserindo categoriasinsert into #categoria (catcod, catnome, cattipo)values (1, 'Bar', 1)insert into #categoria (catcod, catnome, cattipo)values (2, 'Lanchonete', 1)insert into #categoria (catcod, catnome, cattipo)values (3, 'Armazem', 2)--listando todas categoriasselect * from  #categoria --inserindo clientesinsert into #clientes(clicod, clinome, catcod, clilimcred)values (1, 'Bar do Zé', 1, 2000)insert into #clientes(clicod, clinome, catcod, clilimcred)values (2, 'Bar do Moe', 2, 2000)insert into #clientes(clicod, clinome, catcod, clilimcred)values (3, 'Armazen Wayne', 3, 8000)--listando todos os clientesselect * from #clientes/*update com inner para somente os clientes que tem categoria do tipo = 1vamos aumentar o valor do campo clilimcred (limite crédito) em 10%*/update #clientes set clilimcred = clilimcred * 1.1 from #clientesinner join #categoria on #categoria.catcod = #clientes.catcodwhere cattipo = 1/*listando todos os clientes após o update, somente os dados dos clientesque tem categoria = 1 sofreram alteração no campo clilimcred*/select * from #clientes--matando as tabelasdrop table #categoria drop table #clientes

falowst++

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.