Altova MapForce 2023 Enterprise Edition

Cada vez que se crea una conexión de asignación de datos con una BD aparece un botón Acciones de la BD junto a la tabla en cuestión. Al hacer clic en este botón se abre el cuadro de diálogo "Acciones de tabla de BD", desde donde puede configurar las acciones de BD insertar, actualizar y eliminar, además de otras opciones.

mf_db_actions_settings

Cuadro de diálogo Acciones de tabla de BD

A continuación aparece una descripción de las opciones que puede configurar en el cuadro de diálogo "Acciones de tabla de BD".

 

Ejecutar una instrucción SQL antes del primer registro

En este cuadro de diálogo puede definir instrucciones SQL que se ejecuten antes que las acciones definidas en Acciones que se deben ejecutar para cada registro. Puede seleccionar cualquiera de estos botones:

 

Ninguna: no se lleva a cabo ninguna acción. Esta es la configuración predeterminada.

DELETE (eliminar) todos los registros: se eliminan todos los registros de la tabla seleccionada antes de que se lleve a cabo ninguna acción definida en el cuadro de diálogo Acciones que se deben ejecutar para cada registro. Si también quiere eliminar los datos almacenados en las tablas secundarias de la tabla seleccionada, marque la casilla eliminar también todos los registros de todas las tablas secundarias. Si quiere ver un ejemplo, consulte Insertar datos en tablas vinculadas.

Instrucción SQL personalizada: escriba una instrucción personalizada que afecte a toda la tabla. Tenga en cuenta que podrá o no incluir varias instrucciones SQL en una misma consulta dependiendo de la BD, del método de conexión y del driver que use.

 

Acciones que se deben ejecutar para cada registro

Este grupo de opciones indica las acciones de BD que deben llevarse a cabo en esta tabla cuando se ejecute la asignación. Para gestionar las acciones de la tabla, haga clic en los botones Anexar acción, Insertar acción o Eliminar acción. Si es necesario se pueden definir varias acciones (por ejemplo una acción Actualizar si seguida de una acción Insertar restantes).

 

Las acciones de tabla definidas se procesan de izquierda a derecha. En el ejemplo anterior se procesa primero la acción Actualizar si. Si no se cumple la condición para actualizar se procesa la siguiente acción (en este ejemplo la acción Insertar restantes). Tenga en cuenta lo siguiente:

 

Para que se ejecute una acción deben cumplirse todas las condiciones definidas para esa acción. Si se cumplen todas las condiciones, se actualizan todos los campos para los que exista una conexión entre los elementos de origen y destino en la asignación. Cualquier otra acción de tabla (a la derecha de una acción cuya condición se cumple) se ignora para ese registro.

Si no se cumple la condición definida, entonces la acción de la tabla se omite y se ejecuta la siguiente acción (a la derecha).

Si no se cumple ninguna de las condiciones, no se ejecuta ninguna acción.

 

Cualquier acción que se defina después de Insertar todo o Insertar restantes no se ejecutará nunca porque no hay condiciones de columna para acciones de insertar. En este caso aparece un cuadro de diálogo informando de que se eliminarán las columnas de acción de tabla posteriores.

 

La casilla Null Equal junto a cada registro, cuando proceda, indica a MapForce que los valores null del registro de origen deben ser tratados como iguales a los valores null del registro de destino. Si no se selecciona esta casilla es posible que los resultados no sean correctos (véase Gestionar valores null en acciones de tabla de BD).

 

Cuando la asignación actualiza una tabla que tiene relaciones de claves foráneas con otras tablas se pueden usar las siguientes opciones:

 

Eliminar datos en tablas secundarias

Esta opción cobra importancia si selecciona la acción Actualizar si en una tabla primaria. Puede que sea necesario si el número de registros del archivo de origen no es el mismo que el de la BD de destino y quiere mantener las bases de datos sincronizadas (sin datos huérfanos en las tablas secundarias). Consulte también Opciones para tablas secundarias cuando se actualiza la tabla principal.

Omitir datos secundarios de entrada

Use esta opción si quiere actualizar una tabla primaria de destino sin que eso afecte al resto de tablas o de registros de esa tabla. Consulte también Opciones para tablas secundarias cuando se actualiza la tabla principal.

 

Aquí tiene varios ejemplos que ilustran distintas combinaciones de acciones:

 

Insertar datos en una tabla

Insertar datos en tablas vinculadas

Actualizar una tabla

Opciones para tablas secundarias cuando se actualiza la tabla principal

Acción "Actualizar si... Insertar restantes"

Acción "Eliminar si..."

Acción "Omitir si..."

 

Usar transacciones

Habilita las transacciones de BD para esta acción de tabla en particular. Para más información consulte Gestionar excepciones de BD.

 

Usar transferencia masiva

Habilita las transferencias masivas (varias instrucciones INSERT en una consulta). Se pueden usar transferencias masivas si la asignación se ejecuta en MapForce Server y la acción de BD es Insertar todo. Para más información consulte Inserciones masivas.

© 2017-2023 Altova GmbH