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

0
4906

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

[display-posts category=”sql-server” posts_per_page=”1″ exclude_current=”true” wrapper=”div” image_size=”thumbnail” include_excerpt=”true” excerpt_length=”15″]

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

LEAVE A REPLY

Please enter your comment!
Please enter your name here