Compartir a través de


Operaciones de inserción, actualización, eliminación y selección en tablas y vistas de Oracle

El adaptador de Microsoft BizTalk para base de datos de Oracle muestra un conjunto de operaciones estándar en cada tabla y vista de base de datos de Oracle. Mediante estas operaciones, puede realizar instrucciones SQL INSERT, UPDATE, SELECT y DELETE sencillas calificadas por una cláusula WHERE en la tabla de destino (o vista). Estas operaciones también se denominan operaciones del lenguaje de manipulación de datos (DML). Para realizar operaciones más complejas, por ejemplo, una consulta SELECT de SQL que usa el operador JOIN, puede usar la operación SQLEXECUTE. Para obtener más información sobre la operación SQLEXECUTE, vea Operación SQLEXECUTE en oracle Database.

En la tabla siguiente se muestran las operaciones DML que admite el adaptador de base de datos de Oracle:

Operación Descripción
Insertar Realiza una operación de inserción en la tabla o vista de destino. La operación De inserción admite varias inserciones masivas o de registro en la tabla o vista de destino:

- Una operación de inserción de varios registros inserta filas en una tabla o vista basada en un conjunto de registros proporcionado.

- Una operación de inserción masiva inserta filas en una tabla o vista basada en una lista de columnas y consultas SELECT de SQL proporcionadas. Los registros que devuelve la consulta se insertan en la tabla de destino en función de la lista de columnas.

El valor devuelto de una operación De inserción es el número de filas insertadas.

Nota: Tanto la inserción de varios registros como la inserción masiva no se pueden combinar en el mismo mensaje.

InlineValue

Para todos los registros de datos simples de una operación Insert de varios registros, puede optar por invalidar el valor de un registro especificando un valor para un atributo opcional denominado InlineValue. El atributo InlineValue se puede usar para insertar valores calculados en tablas o vistas, como rellenar la columna de clave principal mediante una secuencia o insertar la fecha del sistema (mediante SYSDATE) en una columna de fecha. Por ejemplo, en la siguiente instrucción INSERT:

<Insert xmlns="http://Microsoft.LobServices.OracleDB/2007/03/SCOTT/Table/ACCOUNTACTIVITY"> <RECORDSET> <ACCOUNTACTIVITYRECORDINSERT> <ACCOUNT>10001</ACCOUNT> <EMPNAME>John</EMPNAME> <AMOUNT>1500</AMOUNT> <TRANSDATE InlineValue="SYSDATE">2008-06-21T15:52:19</TRANSDATE> </ACCOUNTACTIVITYRECORDINSERT > </RECORDSET> </Insert>

Aunque "2008-06-21T15:52:19" se especifica como un valor para la columna TRANSDATE, el valor del atributo InlineValue, "SYSDATE", (fecha del sistema) se insertará en la tabla de destino.

Al usar el atributo InlineValue:

- Evite el uso de valores constantes para el atributo InlineValue. Por ejemplo, en la instrucción INSERT, si especifica <EMPNAME InlineValue="John"/> , se producirá un error. Esto se debe a que el valor del atributo InlineValue se pasa tal cual a Oracle y, en este caso, John se pasa a la base de datos de Oracle, que no es el valor esperado (el valor esperado es "John"). Tendría que usar comillas simples alrededor del nombre del empleado. Por ejemplo: <EMPNAME InlineValue="’John’"/>.

- Si desea usar una consulta select para el atributo InlineValue, debe incluir la instrucción SELECT entre paréntesis y también asegurarse de que la consulta de selección captura solo un único registro. Por ejemplo: <EMPNAME InlineValue="(SELECT NAME FROM MS_SAMPLE_EMPLOYEES WHERE ID=123)"/>.

Nota: Si un elemento está marcado como NOT NULL en la base de datos de Oracle, debe especificar un valor para ese elemento incluso si ha especificado un valor insertado. Si no lo hace, se producirá un error en la validación del esquema.
Seleccionar Realiza una consulta SELECT de SQL en la tabla o vista de destino en función de una lista proporcionada de nombres de columna y una cadena de filtro que especifica una cláusula WHERE de SQL.

El valor devuelto de una operación Select es un conjunto de resultados fuertemente tipado que contiene las columnas y filas especificadas.
Actualizar Realiza una operación de actualización en la tabla o vista de destino. Los registros que se van a actualizar se especifican mediante una cadena de filtro que especifica una cláusula WHERE de SQL. Los valores de la actualización se especifican en un registro de plantilla.

El valor devuelto de una operación Update es el número de filas actualizadas.
Eliminar Realiza una operación Delete en la tabla o vista de destino en función de una cláusula WHERE de SQL especificada en una cadena de filtro.

El valor devuelto de una operación Delete es el número de filas eliminadas.

Para más información acerca de:

Consulte también

¿Qué operaciones se pueden realizar mediante el adaptador?