Esquemas de mensaje para operaciones básicas de inserción, actualización, eliminación y selección en tablas y vistas
El adaptador de Microsoft BizTalk para base de datos de Oracle muestra las operaciones básicas de inserción, actualización, eliminación y selección para cada tabla y vista de la base de datos de Oracle. Estas operaciones realizan la instrucción SQL adecuada calificada por una cláusula WHERE. El adaptador de Oracle Database usa registros fuertemente tipados y conjuntos de registros en estas operaciones.
Estructura de mensajes para operaciones básicas de tabla
En la tabla siguiente se muestra la estructura de mensajes XML para las operaciones de tabla básicas expuestas por el adaptador de Oracle Database en tablas de base de datos de Oracle. La tabla de destino de una operación se especifica en la acción de mensaje y también aparece en el espacio de nombres de destino.
Insertar
Hay los siguientes tipos de operaciones de inserción. Un mensaje solo puede contener un tipo de operación De inserción.
- Varias inserciones de registros insertan el conjunto de registros proporcionado de datos fuertemente tipados en la tabla de destino.
- Para cada registro de una inserción de varios registros, puede especificar el valor de un atributo opcional denominado InlineValue. Si se especifica, invalida el valor del elemento .
- Inserción masiva inserta el conjunto de registros devuelto por una consulta SELECT especificada en el elemento QUERY en la tabla de destino. Esto se hace mediante la lista separada por comas de columnas especificadas en el elemento COLUMN_NAMES.
Mensaje XML
Inserción de varios registros
<Insert xmlns="[VERSION]/[SCHEMA]/Table/[TABLE_NAME]">
<RECORDSET>
<[TABLE_NAME]RECORDINSERT>
<[FIELD1_NAME InlineValue="value"]>value1</[FIELD1_NAME]>
<[FIELD2_NAME InlineValue="value"]>value2</[FIELD2_NAME]>
…
</[TABLE_NAME]RECORDINSERT>
<[TABLE_NAME]RECORDINSERT >
<[FIELD1_NAME InlineValue="value"]>value1</[FIELD1_NAME]>
<[FIELD2_NAME InlineValue="value"]>value2</[FIELD2_NAME]>
…
</[TABLE_NAME]RECORDINSERT>
…
</RECORDSET>
</Insert>
SQL ejecutado por el adaptador: INSERT INTO TABLE_NAME (FIELD1_NAME, FIELD2_NAME, …)VALUES (value1, value2, …);
Inserción masiva
<Insert xmlns="[VERSION]/[SCHEMA]/Table/[TABLE_NAME]">
<COLUMN_NAMES>[COLUMN_list]</COLUMN_NAMES>
<QUERY>[SELECT_query]</QUERY>
</Insert>
SQL ejecutado por el adaptador: INSERT INTO TABLE_NAME (COLUMN_list) SELECT_query;
Insertar respuesta
El número de filas insertadas se devuelve en el elemento InsertResult.
Mensaje XML
<InsertResponse xmlns="[VERSION]/[SCHEMA]/Table/[TABLE_NAME]">
<InsertResult>[rows inserted]</InsertResult>
</InsertResponse>
Seleccionar
Una consulta SELECT se realiza en la tabla de destino mediante la cláusula WHERE especificada en el elemento FILTER. El conjunto de resultados contiene las columnas de la lista separada por comas de nombres de columna especificados en el elemento COLUMN_NAMES.
Mensaje XML
<Select xmlns="[VERSION]/[SCHEMA]/Table/[TABLE_NAME]">
<COLUMN_NAMES>[COLUMN_list]</COLUMN_NAMES>
<FILTER>WHERE_clause</FILTER>
</Select>
SQL ejecutado por el adaptador: SELECT COLUMN_list FROM TABLE_NAME WHERE WHERE_clause;
Seleccionar respuesta
Conjunto de resultados generado por la consulta SELECT.
Mensaje XML
<SelectResponse xmlns="[VERSION]/[SCHEMA]/Table/[TABLE_NAME]">
<SelectResult>
<[TABLE_NAME]RECORDSELECT>
<[FIELD1_NAME]>value1</[FIELD1_NAME]>
<[FIELD2_NAME]>value2</[FIELD2_NAME]>
…
</[TABLE_NAME]RECORDSELECT>
</SelectResult>
</SelectResponse>
Actualizar
Las filas que coinciden con la cláusula where especificada en el elemento FILTER se actualizan a los valores especificados en recordset. Solo las columnas especificadas en recordset se actualizan en cada fila coincidente.
Mensaje XML
<Update xmlns="[VERSION]/[SCHEMA]/Table/[TABLE_NAME]">
<RECORDSET>
<[FIELD1_NAME]>value1</[FIELD1_NAME]>
<[FIELD2_NAME]>value2</[FIELD2_NAME]>
…
</RECORDSET>
<FILTER>WHERE_clause</FILTER> </Update>
SQL ejecutado por el adaptador: UPDATE [TABLE_NAME] SET [FIELD1_NAME] = value1, [FIELD2_NAME] = value2, … WHERE WHERE_clause;
Actualizar respuesta
El número de filas actualizadas se devuelve en el elemento UpdateResult.
Mensaje XML
<UpdateResponse xmlns="[VERSION]/[SCHEMA]/Table/[TABLE_NAME]">
<UpdateResult>[rows inserted]</UpdateResult>
</UpdateResponse>
Eliminar
Se eliminan las filas que coinciden con la cláusula WHERE especificada por el elemento FILTER.
Mensaje XML
<Delete xmlns="[VERSION]/[SCHEMA]/Table/[TABLE_NAME]">
<FILTER>WHERE_clause</FILTER>
</Delete>
SQL ejecutado por el adaptador: DELETE FROM [TABLE_NAME] WHERE WHERE_clause;
Eliminar respuesta
El número de filas eliminadas se devuelve en el elemento DeleteResult.
Mensaje XML
<DeleteResponse xmlns="[VERSION]/[SCHEMA]/Table/[TABLE_NAME]">
<DeleteResult>[rows inserted]</DeleteResult>
</DeleteResponse>
Valor del marcador de posición | Descripción |
---|---|
[VERSION] | Cadena de versión del mensaje; por ejemplo, http://Microsoft.LobServices.OracleDB/2007/03 |
[SCHEMA] | Colección de artefactos de Oracle; por ejemplo, SCOTT |
[TABLE_NAME] | Nombre de la tabla; por ejemplo, EMP |
[FIELD1_NAME] | Nombre del campo de tabla; por ejemplo, EMPNAME |
[COLUMN_list] | Lista separada por comas de columnas; por ejemplo, NAME |
[SELECT_query] | Instrucción SELECT de SQL especificada en el elemento QUERY de una operación inserción masiva; por ejemplo, SELECT * from MyTable |
[WHERE_clause] | WHERE_clause para la instrucción SELECT utilizada para la operación; por ejemplo, ID > 10 |
Importante
La estructura de mensajes para las operaciones básicas de tabla en vistas es la misma que en las tablas, pero el espacio de nombres de la operación especifica una vista en lugar de una tabla: <Insert xmlns ="[VERSION]/[SCHEMA]/``View``/[VIEW_NAME]">
.
Acciones de mensaje para operaciones básicas de tabla
En la tabla siguiente se muestran las acciones de mensaje que usa el adaptador de Oracle Database para las operaciones básicas de tabla en las tablas. El adaptador de base de datos de Oracle usa el nombre de tabla especificado en la acción de mensaje para determinar la tabla de destino de la operación.
Operación | Acción de mensaje | Ejemplo |
---|---|---|
Insertar | [VERSION]/[SCHEMA]/Table/[TABLE_NAME]/Insert | http://Microsoft.LobServices.OracleDB/2007/03/SCOTT/Table/EMP/Insert |
Insertar respuesta | [VERSION]/[SCHEMA]/Table/[TABLE_NAME]/Insert/response | http://Microsoft.LobServices.OracleDB/2007/03/SCOTT/Table/EMP/Insert/response |
Seleccionar | [VERSION]/[SCHEMA]/Table/[TABLE_NAME]/Select | http://Microsoft.LobServices.OracleDB/2007/03/SCOTT/Table/EMP/Select |
Seleccionar respuesta | [VERSION]/[SCHEMA]/Table/[TABLE_NAME]/Select/response | http://Microsoft.LobServices.OracleDB/2007/03/SCOTT/Table/EMP/Select/response |
Actualizar | [VERSION]/[SCHEMA]/Table/[TABLE_NAME]/Update | http://Microsoft.LobServices.OracleDB/2007/03/SCOTT/Table/EMP/Update |
Actualizar respuesta | [VERSION]/[SCHEMA]/Table/[TABLE_NAME]/Update/response | http://Microsoft.LobServices.OracleDB/2007/03/SCOTT/Table/EMP/Update/response |
Eliminar | [VERSION]/[SCHEMA]/Table/[TABLE_NAME]/Delete | http://Microsoft.LobServices.OracleDB/2007/03/SCOTT/Table/EMP/Delete |
Eliminar respuesta | [VERSION]/[SCHEMA]/Table/[TABLE_NAME]/Delete/response | http://Microsoft.LobServices.OracleDB/2007/03/SCOTT/Table/EMP/Delete/response |
[VERSION] = La cadena de versión del mensaje; por ejemplo, http://Microsoft.LobServices.OracleDB/2007/03
.
[SCHEMA] = Colección de artefactos de Oracle; por ejemplo, SCOTT.
[TABLE_NAME] = Nombre de la tabla; por ejemplo, EMP.
Importante
La acción de mensaje para una operación en una vista es la misma que para una tabla, excepto que "View" reemplaza a "Table"; por ejemplo, http://Microsoft.LobServices.OracleDB/2007/03/SCOTT/``View``/EMPVIEW/Insert
.
Consulte también
Mensajes y esquemas de mensaje para el adaptador de BizTalk para la base de datos de Oracle