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

0
4602

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
SQL Server MERGE MERGE in SQL Server for Insert, Delete and Update with two tables - Practical example using MERGE to synchronize two tables, Insert, Update and Delete in a single…

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);

DEJA UNA RESPUESTA

Por favor ingrese su comentario!
Por favor ingrese su nombre aquí