Navegacion

miércoles, 15 de octubre de 2014

Sentencia MERGE INTO

Sentencia Merge - Oracle SQL y PL/SQL


La sentencia Merge nos sirve para combinar dos operaciones: Insertar y Actualizar. La función Merge nos permite hacer un update en caso de que la condición dada se cumpla o insertar en caso de que no se cumpla.

Sintaxis:

MERGE INTO <table_name>
USING <table_view_or_query>
ON (<condition>)
WHEN MATCHED THEN <update_clause>

WHEN NOT MATCHED THEN <insert_clause>;


Ejemplo: 

MERGE INTO destino a
USING origen b
ON (a.id = b.id)
WHEN MATCHED THEN
UPDATE SET
 a.nombre = b.nombre,
 a.direccion = b.direccion
WHEN NOT MATCHED THEN
INSERT (id, nombre, direccion)
VALUES (a.id, a.nombre, a.direccion);

El origen de los datos puede tratarse de una tabla, una vista, o del resultado de la ejecución de una consulta SELECT.

No hay comentarios.:

Publicar un comentario