Compartir a través de


Esquemas de mensaje para operaciones de inserción, actualización, eliminación y selección en tablas y vistas

El adaptador de Microsoft BizTalk para SQL Server muestra las operaciones Insertar, Actualizar, Eliminar y Seleccionar para cada tabla y vista de la base de datos SQL Server. Estas operaciones realizan la instrucción SQL adecuada calificada por una cláusula WHERE. El adaptador de SQL usa registros fuertemente tipados y conjuntos de registros en estas operaciones.

Estructura de mensajes para operaciones de tabla

En la tabla siguiente se muestra la estructura de mensajes XML para las operaciones básicas de tabla expuestas por el adaptador de SQL en SQL Server tablas de base de datos. 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.

Operación Mensaje XML Descripción SQL ejecutado por el adaptador
Insertar <Insert xmlns="[VERSION]/TableOp/[SCHEMA]/[TABLE_NAME]"> <Rows> <[TABLE_NAME]> <[FIELD1_NAME]>value1</[FIELD1_NAME]> <[FIELD2_NAME]>value2</[FIELD2_NAME]> … </[TABLE_NAME]> </Rows> </Insert> Inserta el conjunto de registros proporcionado de datos fuertemente tipados en la tabla de destino. INSERT INTO TABLE_NAME (FIELD1_NAME, FIELD2_NAME, …) VALUES (value1, value2, …);
Insertar respuesta <InsertResponse xmlns="[VERSION]/TableOp/[SCHEMA]/[TABLE_NAME]"> <InsertResult> <long>[Value]</long> </InsertResult> </InsertResponse> El mensaje Insertar respuesta contiene una matriz de tipo de datos Long. La matriz almacena los valores de identidad de las filas insertadas, si las hay. Si no hay ninguna columna de identidad en una tabla, el valor devuelto es NULL. --
Seleccionar Selección de todos los registros:

<Select xmlns="[VERSION]/TableOp/[SCHEMA]/[TABLE_NAME]"> <Columns>*</COLUMNS> <Query></Query> </Select>

Selección de columnas específicas en un conjunto de registros:

<Select xmlns="[VERSION]/TableOp/[SCHEMA]/[TABLE_NAME]"> <Columns>[COLUMN_list]</COLUMNS> <Query>where [WHERE_clause]</Query> </Select>

Actualizar registros como parte de la operación Seleccionar:

<Select xmlns="[VERSION]/TableOp/[SCHEMA]/[TABLE_NAME]"> <Columns>[COLUMN_list]</Columns> <Query>where [WHERE_clause];UPDATE [TABLE_NAME] SET [FIELD1_NAME] = [value1] where [WHERE_clause]</Query> </Select>
Una consulta SELECT se realiza en la tabla de destino mediante la cláusula WHERE especificada en el elemento . El conjunto de resultados contiene las columnas de la lista separada por comas de nombres de columna especificados en el <elemento Columns> .

Es obligatorio proporcionar valor en el <elemento Columns> . Si todas las columnas deben recuperarse en una tabla o vista, * debe especificarse en el <elemento Columns> . Si es necesario recuperar columnas específicas, los nombres de columna deben estar separados por comas y especificarse en el mismo orden que se definen en la tabla o vista.

Es obligatorio incluir la cláusula WHERE en la instrucción SELECT. Si no desea especificar una cláusula WHERE, puede eliminar el <elemento Query> o dejarlo vacío.

Puede actualizar los registros mediante la operación Seleccionar. Una instrucción UPDATE se coloca en el <elemento Query> del XML de solicitud SELECT, separados de la cláusula WHERE por punto y coma. Tenga en cuenta que la instrucción UPDATE no funciona en el conjunto de resultados de la instrucción SELECT.
Selección de todos los registros:

SELECT * FROM [TABLE_NAME] WHERE [WHERE_clause];

Selección de columnas específicas en un conjunto de registros:

SELECT [COLUMN_list] FROM [TABLE_NAME] WHERE [WHERE_clause];

Actualizar registros como parte de la operación Seleccionar:

SELECT [COLUMN_list] FROM [TABLE_NAME] WHERE [WHERE_clause]; UPDATE [TABLE_NAME] SET [FIELD1_NAME] = value1 [WHERE_clause];
Seleccionar respuesta <SelectResponse xmlns="[VERSION]/TableOp/[SCHEMA]/[TABLE_NAME]"> <SelectResult> <[TABLE_NAME]> <[FIELD1_NAME]>[value1]</[FIELD1_NAME]> <[FIELD2_NAME]>[value2]</[FIELD2_NAME]> … </[TABLE_NAME]> </SelectResult> <SelectResponse> Conjunto de resultados fuertemente tipado generado por la consulta SELECT. --
Actualizar <SelectResponse xmlns="[VERSION]/TableOp/[SCHEMA]/[TABLE_NAME]"> <SelectResult> <[TABLE_NAME]> <[FIELD1_NAME]>[value1]</[FIELD1_NAME]> <[FIELD2_NAME]>[value2]</[FIELD2_NAME]> … </[TABLE_NAME]> </SelectResult> </SelectResponse>

<Update xmlns="[VERSION]/TableOp/[SCHEMA]/[TABLE_NAME]"> <Rows> <RowPair> <After> <[FIELD1_NAME]>[value1]</[FIELD1_NAME]> <[FIELD2_NAME]>[value2]</[FIELD2_NAME]> … </After> <Before> <[FIELD1_NAME]>[value3]</[FIELD1_NAME]> <[FIELD2_NAME]>[value4]</[FIELD2_NAME]> … </Before> </RowPair> </Rows> </Update>
Tome una matriz de pares de registros como entrada. Cada par de registros es una colección de dos registros fuertemente tipados:

El primer registro (en el <After> elemento) corresponde a los nuevos valores que deben actualizarse.

El segundo registro (en ) <Before>corresponde a los valores antiguos de las filas.
UPDATE [TABLE_NAME] SET [FIELD1_NAME] = value1, [FIELD2_NAME] = value2, … WHERE [FIELD1_NAME] = value3, [FIELD2_NAME] = value4, …;
Respuesta de actualización <UpdateResponse xmlns="[VERSION]/TableOp/[SCHEMA]/[TABLE_NAME]"> <UpdateResult>[rows updated]</UpdateResult> </UpdateResponse> El número de filas actualizadas se devuelve en el elemento UpdateResult . --
Eliminar <Delete xmlns="[VERSION]/TableOp/[SCHEMA]/[TABLE_NAME]"> <Rows> <[TABLE_NAME]> <[FIELD1_NAME]>value1</[FIELD1_NAME]> <[FIELD2_NAME]>value2</[FIELD2_NAME]> … </[TABLE_NAME]> </Rows> </Delete> -- DELETE FROM [TABLE_NAME] WHERE [FIELD1_NAME] = value1, [FIELD2_NAME] = value2, …;
Eliminar respuesta <DeleteResponse xmlns="[VERSION]/TableOp/[SCHEMA]/[TABLE_NAME]"> <DeleteResult>[rows deleted]</DeleteResult> </DeleteResponse> El número de filas eliminadas se devuelve en el elemento DeleteResult . --

[VERSION] = La cadena de versión del mensaje; por ejemplo, http://schemas.microsoft.com/Sql/2008/05.

[SCHEMA] = Colección de artefactos de SQL Server; por ejemplo, dbo.

[TABLE_NAME] = Nombre de la tabla; por ejemplo, Employee.

[FIELD1_NAME] = Nombre del campo de tabla; por ejemplo, NAME.

[COLUMN_list] = lista separada por comas de columnas; por ejemplo, Nombre, Edad, Designación.

[SELECT_query] = Una instrucción SELECT de SQL especificada en el elemento QUERY de una operación de inserción masiva; por ejemplo, "SELECT * from MyTable"

[WHERE_clause] = WHERE_clause para la instrucción SELECT usada para la operación; por ejemplo, id > . 10.

Importante

La estructura de mensajes de las operaciones básicas de tabla en las vistas es la misma que en las tablas, salvo que la vista reemplaza a la tabla: Insert xmlns="[VERSION]/ViewOp/[SCHEMA]/[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 SQL para las operaciones básicas de tabla en las tablas. El adaptador de SQL 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 del mensaje Ejemplo
Insertar TableOp/Insert/[SCHEMA]/[TABLE_NAME] TableOp/Insert/dbo/Employee
Insertar respuesta TableOp/Insert/[SCHEMA]/[TABLE_NAME]/response TableOp/Insert/dbo/Employee/response
Seleccionar TableOp/Select/[SCHEMA]/[TABLE_NAME] TableOp/Select/dbo/Employee
Seleccionar respuesta TableOp/Select/[SCHEMA]/[TABLE_NAME]/response TableOp/Select/dbo/Employee/response
Actualizar TableOp/Update/[SCHEMA]/[TABLE_NAME] TableOp/Update/dbo/Employee
Respuesta de actualización TableOp/Update/[SCHEMA]/[TABLE_NAME]/response TableOp/Update/dbo/Employee/response
Eliminar TableOp/Delete/[SCHEMA]/[TABLE_NAME] TableOp/Delete/dbo/Employee
Eliminar respuesta TableOp/Delete/[SCHEMA]/[TABLE_NAME]/response TableOp/Delete/dbo/Employee/response

[SCHEMA] = Colección de artefactos de SQL Server; por ejemplo, dbo.

[TABLE_NAME] = Nombre de la tabla; por ejemplo, Employee.

Importante

La acción de mensaje para una operación en una vista es la misma que para una tabla, excepto que "ViewOp" reemplaza a "TableOp"; por ejemplo, ViewOp``/Insert/dbo/Employee_View.

Consulte también

Mensajes y esquemas de mensajes para el adaptador de BizTalk para SQL Server