El primer parámetro de PASSTHRU debe ser una expresión ESQL válida que contiene la sintaxis de base de datos. PASSTHRU permite utilizar la sintaxis de base de datos no soportado normalmente por ESQL.
El comportamiento de la función PASSTHRU depende de si pasa uno, dos o más parámetros. El primer parámetro de la función PASSTHRU debe ser siempre una expresión ESQL que es, o se evalúa como una serie. Utilice signos de interrogación en la serie para indicar dónde es necesario realizar una sustitución de parámetro.
Si pasa otros dos o más parámetros, cada parámetro se enlaza al signo de interrogación correspondiente en la serie de sentencia: es decir, el primer parámetro se enlaza al primer signo de interrogación, el segundo parámetro se enlaza al segundo signo de interrogación, y así sucesivamente.
SET OutputRoot.XML.Result.Data[] = PASSTHRU('SELECT * FROM user1.stocktable where time=TIMESTAMP(CAST(? as TIMESTAMP)),'1999-12-31-23.59.59.999999');
SET OutputRoot.XML.Result.Data[] = PASSTHRU('SELECT * FROM user1.stocktable');
PASSTHRU('DELETE FROM user2.AccountData WHERE AccountId = ?', InputBody.Data.Account.Id);
SET OutputRoot.XML.Result.Data = PASSTHRU('SELECT AccountNum FROM user2.AccountData WHERE AccountId = ?', InputBody.Data.Account.Id);
SET OutputRoot.XML.Result.Data[] = PASSTHRU('SELECT AccountNum FROM user2.AccountData WHERE AccountId IN (? , ? , ?)', InputBody.Data.Account.Id[]);
PASSTHRU('INSERT INTO user1.stocktable (stock_id, quantity) values (?, ?)', InputBody.Transaction.Id, InputBody.Transaction.Quantity);
PASSTHRU('INSERT INTO user1.stocktable VALUES (1)');Sin embargo, si primero se establece una variable y, a continuación, se hace referencia a ella en la sentencia PASSTHRU, omita las comillas. Por ejemplo:
SET myVar = 'SELECT * FROM user1.stocktable'; SET OutputRoot.XML.Data[] = PASSTHRU(myVar);
call nombre-procedimiento [([parámetro][,[parámetro]]...)]}
Sólo la secuencia de escape descrita anteriormente está soportada para los parámetros de entrada de la función PASSTHRU en WebSphere Business Integration Message Broker.
PASSTHRU('{call proc_insert_comp(?,?)}',InputBody.Test.Company,InputBody.Test.Price);
PASSTHRU('{call share_management.add_share(?,?)}', InputBody.Test.Company,InputBody.Test.Price);
Si un flujo de mensajes se confirma o se restituye, las operaciones de base de datos se confirman o se restituyen. Esto es coherente con el comportamiento de los nodos Database y Warehouse, que tienen una propiedad de transacción automática.
Aunque se restituye un flujo de mensajes, se confirman las operaciones de base de datos. Esto es coherente con el comportamiento de los nodos Database y Warehouse, que tienen una propiedad de transacción de confirmación.
Si desea más información sobre las transacciones coordinadas, consulte el apartado Configuración de flujos de mensajes coordinados.
PASSTHRU('{call proc_delete_comp(?)}',InputBody.Test.Company);
Conceptos relacionados
ESQL
Tareas relacionadas
Desarrollo de ESQL
Invocar procedimientos almacenados
Referencia relacionada
Sentencia CALL
Sentencia CREATE PROCEDURE
Avisos |
Marcas registradas |
Descargas |
Biblioteca |
Soporte |
Información de retorno (feedback)
![]() ![]() |
ak05100_ |