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

0
2764

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 - Error 3414 SQL Server – Error 3414, servicio no inicia - El error 3414 se produce generalmente cuando el motor de la base de datos SQL Server sufre algún evento…

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