Oracle - Update apartir de select

 
Vista:

Update apartir de select

Publicado por Nicolás Mendoza Hernández (5 intervenciones) el 11/05/2005 17:30:06
Hola

Como puedo lograr un Update a patartir de un select esto es, hacer algo como un
INSERT INTO TABLA SELECT * FROM TABLA@OTRABD WHERE CAMPO = 1;

EN TEORIA SE INSERTAN EL RESULTADO DE LA CONSULTA EN TABLA.

Ahora yo quiero hacer un update para igualar el valor con lo de otrra tabla igual, osea tengo una replica y por x motivo no son iguales los registros entonces quisiera hacer algo asi
UPDATE TABLA SET CAMPO1 = A.CAMPO1, CAMPO2 = A.CAMPO2 FROM (SELECT CAMPO1, CAMPO2 FROM TABLA@OTRABD WHERE LLAVE = 1) A WHERE A.LLAVE = TABLA.LLAVE.

De antemano gracias, y espero me puedan ayudar
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Update apartir de select

Publicado por Luis D (41 intervenciones) el 12/05/2005 00:02:00
utiliza las clausulas in o exists. tambien podrias utilizar un proceso
declare
cursor c is
select datos from tabla@otrabd
begin
for i in c loop
update tabla campo1=i.campo1
where llave=i.llave
end loop;
end;
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Update apartir de select

Publicado por trazom (28 intervenciones) el 12/05/2005 17:06:01
update t1 t
set t.campo1, t.campo2 = (select l.campo1, l.campo2
from t2@db l
where t.llave = l.llave)
where exists (select l.campo1, l.campo2
from t2@db l
where t.llave = l.llave);

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Gracias

Publicado por Nicolas M H (5 intervenciones) el 12/05/2005 17:22:40
Muchas Gracias a Ambos.

Aunque la respuesta de trazon es la que estaba buscando.

saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar