Altova MapForce 2023 Enterprise Edition

En algunas asignaciones de datos que actualizan e insertan datos en una tabla de base de datos (véase Acción "Actualizar si... Insertar restantes"). MapForce genera instrucciones de combinación MERGE que se ejecutarán en la base de datos cuando se ejecute la asignación. El motor de ejecución no tiene por qué ser MapForce (véase Ejecutar asignaciones que modifican BD).

 

Las instrucciones de combinación MERGE son compatibles con estas bases de datos:

 

SQL Server 2008 y superior

Oracle

DB2

Firebird

 

Las instrucciones MERGE reducen el número de llamadas al servidor de la base de datos porque compaginan instrucciones INSERT y UDPATE en una sola instrucción. Además, en el caso de las instrucciones MERGE la comprobación de coherencia la lleva a cabo la propia base de datos.

 

Para comprobar si la asignación ejecutará instrucciones MERGE en tiempo de ejecución (en lugar de instrucciones INSERT y UPDATE):

 

1.Cree una asignación que utilice acciones Actualizar si... y acciones Insertar restantes (véase Acción "Actualizar si... Insertar restantes").

2.Consulte la vista previa de resultados de la asignación (abriendo el panel Resultados).

 

Si la base de datos admite instrucciones MERGE, el script SQL que genera MapForce incluirá instrucciones MERGE. Por ejemplo:

mf_db_merge_08

 

Si la base de datos no admite instrucciones MERGE, el script SQL generado incluirá instrucciones UPDATE solamente (la vista previa no incluirá instrucciones INSERT porque estas instrucciones solamente se ejecutan si no se cumple la condición Actualizar si... (y esto no se sabe antes de ejecutar la asignación).

 

Notas

MapForce crea instrucciones MERGE automáticamente cuando detecta un tipo de base de datos compatible; es decir, se trata de un proceso que no se puede alterar de forma manual.

Si está actualizando varias tablas entre las que existen relaciones primaria-secundaria, entonces solo se crean instrucciones MERGE para las tablas "leaf". Una tabla "leaf" de la asignación que está anidado a mayor nivel. Por ejemplo, en la siguiente asignación las acciones Actualizar si... insertar restantes... se han definido tanto para la tabla Users como para la tabla Addresses. Sin embargo, las instrucciones MERGE solo se generarán para la tabla "leaf", Addresses. Las instrucciones para la tabla primaria, Users, serán UPDATE o INSERT en lugar de MERGE.

mf_db_merge_07

Con las instrucciones MERGE la opción Usar transferencia masiva (véase Inserciones masivas (MapForce Server)) solo es compatible con conexiones de BD ODBC y JDBC.

© 2017-2023 Altova GmbH