DotNetcr.com
Si deseas hacer un intercambio de links con DotNetcr, escríbenos aquí
Recibe las actualizaciones vía RSS
Te invitamos a unirte en nuestras redes
   http://www.facebook.com/DotNetcr
   http://www.twitter.com/dotnetcr

Como realizar un Update con From dentro del query en MSSQL y ORACLE

Por charlie | 7/6/2005 | Visitas 8,801 | Voto 0.00
En SQL y ORACLE hay ciertas diferencias en la forma de que se hacen las consultas, en este caso se explica como realizar un UPDATE en el cual necesitamos tener un FROM para poder filtrar los datos correctamente. esto es SQL y como se hace en ORACLE?
Categorías : SQL Server
Cuando queremos hacer un UPDATE pero necesitamos filtrar los datos con otra tabla, pues lo lógico es que utilicemos un FROM y un WHERE. En MSSQL esto es muy normal y transparente, pero a la hora de que pasemos ese mismo código a ORACLE, pues no nos va a permitir realizar la consulta. Esto es debido a que en ORACLE no se permite el FROM.

Aquí se muestran los dos códigos para que se pueda ver la diferencia.

MSSQL

UPDATE T_PROVINCIAS
SET ind_estado = 'S'
FROM T_PAISES P
WHERE
P.codigo_pais = T_PROVINCIAS.codigo_pais



En ORACLE como no se permite el FROM dentro del UPDATE tendremos que hacer una subconsulta dentro del UPDATE y validar con un EXISTS, para poder filtrar los datos que necesitamos.

ORACLE

UPDATE T_PROVINCIAS
SET ind_estado = 'S'
WHERE EXISTS( SELECT *
FROM T_PAISES CM
WHERE T_PROVINCIAS.codigo_pais = CM.codigo_pais);
Area de Comentarios
Por Anónimo - Fecha: 2007/02/12 08:35 PM
me parece muy bueno el ejemplo, aunq me gustaria q lo hicieran mucho mas complejo, por ejemplo update inventario set producto = producto + temp.producto
where exists ( select temp.producto from producto_comprados temp where inv.codigo_producto= temp.codigo_producto), no se si se pueda hacer pero me gustaria q lo aclararan
Por Anónimo - Fecha: 2007/11/14 03:52 AM
Pues oracle me parece una perdida de tiempo....y los ejemplos de niños. Dame un ejemplo donde en el form hay varias tablas relacionadas y donde quieres hacer actualizacion, no de un campo sino de muchos. De la forma del ejempo es un engorro. Habria que ir a usar algun cursor y luego recorrerlo y hacer el update registro a registro. La verdad que la gente de Oracle podria haber puesto más voluntad a la hora de hacer el "update" y hacerlo más práctico y no complicar algo tan basico.
Por Anónimo - Fecha: 2008/01/11 03:50 PM
una mierda tu ejemplo
Por Anónimo - Fecha: 2008/04/02 08:40 AM
pUES A MÍ ME HA GUSTADO Y ME HA SERVIDO
Por Anónimo - Fecha: 2008/04/18 02:43 PM
y que pasa si quiero actualizar el campo ind_estado = campo del subquery como se hace???
Por Anónimo - Fecha: 2008/06/30 10:02 AM
Muy Buen Ejemplo. Me sirvió de mucho porque necesitaba hacer una modificacion en sql server de un campo fecha que estaba en una tabla y necesitaba que me apareciera en otra tabla. Muchas Gracias
Por Anónimo - Fecha: 2008/06/30 10:03 AM
Tony de Venezuela: Muy Buen Ejemplo. Me sirvió de mucho porque necesitaba hacer una modificacion en sql server de un campo fecha que estaba en una tabla y necesitaba que me apareciera en otra tabla. Muchas Gracias
Por Anónimo - Fecha: 2008/07/28 04:26 PM
aca hay un ejemplo mas complejo:
UPDATE SA_COSTOPART A SET a.FEC_DOC = (select b.fec_doc
from cpf_costos b
where b.COD_DOCUM_REF = a.COD_PARTIDA AND b.NRO_DOCUM_REF = a.NRO_PARTIDA
AND b.COD_ARTICULO = a.COD_ARTICULO
AND b.COD_EMP = a.COD_EMP AND b.FEC_DOC <> a.FEC_DOC
AND b.COD_DOCUM_REF = ''acarpimp'')
where exists (select 1
from cpf_costos b
where b.COD_DOCUM_REF = a.COD_PARTIDA AND b.NRO_DOCUM_REF = a.NRO_PARTIDA
AND b.COD_ARTICULO = a.COD_ARTICULO
AND b.COD_EMP = a.COD_EMP AND b.FEC_DOC <> a.FEC_DOC
AND b.COD_DOCUM_REF = ''acarpimp'')
Por Anónimo - Fecha: 2008/11/28 04:30 PM
Muchas Gracias ! me sirvio de mucho
Por Anónimo - Fecha: 2011/07/06 04:28 PM
excelente
Por Anónimo - Fecha: 2012/04/26 03:51 PM
Please teach the rest of these inretnet hooligans how to write and research!
Por Anónimo - Fecha: 2012/04/27 08:16 AM
EYXWQ9 , [url=http://eabizgswmzlz.com/]eabizgswmzlz[/url], [link=http://destbuqrytba.com/]destbuqrytba[/link], http://dewmaewtpdks.com/
Por Anónimo - Fecha: 2012/04/29 01:20 AM
ZIkRIg , [url=http://uncgxqwkzjkh.com/]uncgxqwkzjkh[/url], [link=http://rhnklzsjznie.com/]rhnklzsjznie[/link], http://jezjsvmpmnzh.com/
Ingrese su Comentario
Comentario
Para poder votar debe estar registrado en DotNetcr.com
Solo queda registrado el primer voto enviado
Voto


Últimos Recursos
ibarra
dsevic
Eur
jota
juanjoguardiola
Víctor Carbajal
PER 237
MEX 236
CRI 185
COL 116
ESP 104
ARG 87