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

0
4193

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
Índices repetidos en SQL Server ¿Cómo encontrarlos? - Los índices en la base de datos SQL Server es una herramienta que nos ayuda…

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.

UPDATE T_PROVINCIAS
SET ind_estado = 'S'
WHERE EXISTS( SELECT *
                         FROM T_PAISES CM
                         WHERE T_PROVINCIAS.codigo_pais = CM.codigo_pais);

Dejar respuesta

Please enter your comment!
Please enter your name here