SQL Oracle
Prezados poderiam me ajudar? Gostaria de realizar um cursor ou algo assim mas não consigo aprender, mesmo sendo basico rs..
Tenho duas tabelas
Tabela1 e Tabela 2
Estas duas tabelas tem um codigo unico como referencia ou seja:
tabela1.codigo = tabela2.codigo
Tenho que fazer um update na tabela1 com os dados da tabela2 validando a coluna codigo.
ou seja:
o update simples seria:
update tabela1 set teste1(valor a ser alterado) = @teste2 (valor na tabela 2 correto)
where tabela1.codigo = tabela2.codigo
Será que deu para entender?
Agradeço a ajuda.
Tenho duas tabelas
Tabela1 e Tabela 2
Estas duas tabelas tem um codigo unico como referencia ou seja:
tabela1.codigo = tabela2.codigo
Tenho que fazer um update na tabela1 com os dados da tabela2 validando a coluna codigo.
ou seja:
o update simples seria:
update tabela1 set teste1(valor a ser alterado) = @teste2 (valor na tabela 2 correto)
where tabela1.codigo = tabela2.codigo
Será que deu para entender?
Agradeço a ajuda.
Vinicius Brasil
Curtidas 0
Respostas
Fabiano Carvalho
15/07/2014
Utilize JOIN, não precisa utilizar cursor.
UPDATE A SET A.COLUNA1 = 'VALOR' FROM TABELA1 A INNER JOIN TABELA B ON A.CODIGO = B.CODIGO
GOSTEI 0
Vinicius Brasil
15/07/2014
Fabiano obrigado pela resposta o meu problema é que o 'Valor' é variável que vou trazer da tabela 2, mesmo assim o comando acima não funcionou, quero dizer na minha ignorância o from deu erro:
UPDATE a SET a.coluna = b.coluna
FROM TABELA1 a
INNER JOIN TABELA2 B
ON A.CODIGO = B.CODIGO
UPDATE a SET a.coluna = b.coluna
FROM TABELA1 a
INNER JOIN TABELA2 B
ON A.CODIGO = B.CODIGO
GOSTEI 0
Vinicius Brasil
15/07/2014
Pessoal consegui!
Obrigado pela ajuda!!!!
update tabela1 t1
set t1.campo = ( select t2.campo_origem
from tabela2 t2
where t1.chave = tabela2.chave
AND ROWNUM = 1
)
where EXISTS ( select 1
from tabela2 t2
where t1.chave = tabela2.chave
);
Pena que vou ficar sem aprender cursor rs..
Obrigado pela ajuda!!!!
update tabela1 t1
set t1.campo = ( select t2.campo_origem
from tabela2 t2
where t1.chave = tabela2.chave
AND ROWNUM = 1
)
where EXISTS ( select 1
from tabela2 t2
where t1.chave = tabela2.chave
);
Pena que vou ficar sem aprender cursor rs..
GOSTEI 0
Marisiana Battistella
15/07/2014
Mas por que vai ficar sem aprender cursor?
Você pode aprender aplicando em outras situações...
Você pode aprender aplicando em outras situações...
GOSTEI 0