Compartir a través de


Insertar, actualizar, eliminar y seleccionar operaciones en tablas y vistas con el adaptador de SQL

El adaptador de Microsoft BizTalk para SQL Serversurface un conjunto de operaciones estándar en cada tabla y vista de la base de datos SQL Server. Mediante estas operaciones, puede ejecutar instrucciones INSERT, UPDATE, SELECT y DELETE sencillas calificadas por una cláusula WHERE en la tabla o vista de destino. Estas operaciones también se denominan operaciones del lenguaje de manipulación de datos (DML).

En la tabla siguiente se muestran las operaciones DML que admite el adaptador de SQL:

Operación Descripción
Insertar Realiza una operación de inserción en la tabla o vista de destino.

- La operación Insertar toma una matriz de registros como entrada. Cada registro está fuertemente tipado en la tabla de destino y se asigna a la fila que se inserta en la tabla.
- Puede insertar valores en columnas de identidad siempre que el valor de la propiedad de enlace AllowIdentityInsert se establezca en TRUE. Para obtener más información sobre la propiedad de enlace AllowIdentityInsert, vea Leer sobre el adaptador de BizTalk para SQL Server propiedades de enlace del adaptador.
- El valor devuelto de la operación Insertar es una matriz de tipo de datos Long. Esta 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.

El adaptador de SQL trata algunos valores del mensaje de operación de inserción de la siguiente manera:

: se omiten los valores especificados para las columnas calculadas y las columnas de marca de tiempo.
- Si el nodo de una columna de identidad es NULL, se omite.

Para todos los demás valores del mensaje insertar operación:

- Si se especifica un valor para una columna, ese valor se usa en la instrucción INSERT.
- Si el nodo de una columna determinada es NULL, se usa NULL en la instrucción INSERT. Nota: Si para un registro determinado, no hay ningún valor que se pueda usar en la instrucción INSERT (es decir, no se especificó ningún valor para ninguna columna o se omitiron todos los valores de columna), el adaptador ejecuta la siguiente instrucción SQL: insert into <table_name> default values
Seleccionar Realiza una instrucción SELECT en la tabla o vista de destino basada en una matriz de registros (columnas) y una cadena de consulta que especifica una cláusula WHERE.

: se debe especificar un valor para la lista de columnas de la instrucción SELECT. Si todas las columnas deben recuperarse en una tabla o vista, * debe especificarse en la instrucción SELECT. 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.
- La cláusula WHERE debe incluirse en la instrucción SELECT. Sin embargo, si no desea especificar un valor en la cláusula WHERE, puede eliminar el Query elemento o dejarlo vacío.
- La operación Select también permite realizar una operación de actualización. En este caso, la instrucción UPDATE se coloca dentro del Query elemento de la instrucción SELECT.

El valor devuelto de la operación Select es un conjunto de resultados fuertemente tipado que contiene las columnas y filas especificadas de la tabla o vista de destino.
Actualizar Realiza una operación de actualización en la tabla o vista de destino.

- La operación De actualización toma una matriz de pares de registros como entrada. Cada par de registros es una colección de dos registros y cada registro está fuertemente tipado en la tabla de destino.

- El primer registro corresponde a los nuevos valores que deben actualizarse, es decir, corresponde a la cláusula SET de la instrucción UPDATE.
- El segundo registro corresponde a los valores antiguos de las filas, es decir, corresponde a la cláusula WHERE de la instrucción UPDATE. Nota: Si, para un par de registros determinado, no hay valores que se pueden usar en la cláusula SET, no se ejecuta ninguna instrucción UPDATE para ese par de registros.
- Puede actualizar los valores de las columnas de identidad siempre que el valor de la propiedad de enlace AllowIdentityInsert se establezca en TRUE. Para obtener más información sobre la propiedad de enlace AllowIdentityInsert, vea Leer sobre el adaptador de BizTalk para SQL Server propiedades de enlace del adaptador.
- El valor devuelto de la operación Update es del tipo de datos Int32 y denota el número de filas actualizadas.
El adaptador de SQL trata algunos valores del mensaje de operación de actualización de la siguiente manera:

: se omiten los valores especificados para columnas calculadas y columnas de marca de tiempo en la cláusula SET del mensaje.
- Si un tipo definido por el usuario (UDT) no está ordenado por bytes, se omite el valor especificado para la columna UDT de la cláusula WHERE.
- Si el nodo de una columna de identidad es null en la cláusula SET del mensaje, se omite.
- Si el nodo de una columna de identidad o marca de tiempo es NULL en la cláusula WHERE del mensaje, se omite.
- Si el nodo de una columna image, XML, Text o Ntext no es NULL en la cláusula WHERE del mensaje, los valores especificados para ellos se omiten porque estos valores no se pueden comparar.

Para todos los demás valores del mensaje de operación de actualización:

- Si se especifica un valor para una columna de la cláusula SET de la instrucción UPDATE, el valor se usa en la cláusula SET de la instrucción (set <column_name> = <value>).
- Si el nodo de una columna determinada es NULL en la cláusula SET, se usa NULL en la instrucción UPDATE (set <column_name> = null).
- Si se especifica un valor para una columna en la cláusula WHERE de la instrucción UPDATE, el valor se usa en la cláusula WHERE de la instrucción (where <column_name> = <value>).
- Si el nodo de una columna determinada es NULL en la cláusula WHERE de la instrucción UPDATE, se usa NULL en la instrucción UPDATE (where <column_name> is null).
Eliminar Realiza una operación Delete en la tabla o vista de destino basada en una matriz fuertemente tipada de registros (lista de nombres de columna) de la tabla de destino y una cadena de filtro que especifica una cláusula WHERE.

El valor devuelto de la operación Delete es del tipo de datos Int32 y denota el número de filas eliminadas.

El adaptador de SQL trata algunos valores del mensaje de operación Delete de la siguiente manera:

- Si el nodo de una columna image, XML, Text o Ntext no es NULL en la cláusula WHERE del mensaje, los valores especificados para ellos se omiten porque estos valores no se pueden comparar.
- Si el nodo de una columna de identidad o marca de tiempo es NULL, se omite.
- Si un UDT no está ordenado por bytes, se omite el valor especificado para la columna UDT en la cláusula WHERE.

Para todos los demás valores del mensaje de operación Eliminar:

- Si se especifica un valor para una columna, el valor se usa en la cláusula WHERE de la instrucción DELETE (where <column_name> = <value>).
- Si el nodo de una columna determinada es NULL, se usa NULL en la instrucción DELETE (where <column_name> is null). Nota: Si, para un registro determinado, no hay ningún valor que se pueda usar en la instrucción DELETE (es decir, no se especificaron valores para ninguna columna o si se omitiron todos los valores de columna presentes), el adaptador no ejecuta ninguna instrucción DELETE.

Para más información acerca de:

Consulte también

Conexión a un sistema SAP mediante el adaptador