PASSTHRU の 1 番目のパラメーターは、 ご使用のデータベース構文を含む有効な ESQL 式でなければなりません。 PASSTHRU では、ESQL が一般にサポートしていないデータベース構文を使うことができます。
PASSTHRU 関数の振る舞いは、パラメーターを 1 つ、2 つ、 あるいはそれ以上渡すかどうかによって異なります。 PASSTHRU 関数の 1 番目のパラメーターは、 常にストリングまたは評価結果がストリングになる ESQL 式である必要があります。 パラメーターの置換が必要なところを示すには、ストリングの中で疑問符を使用します。
他のパラメーターを 2 つ以上渡す場合は、 各パラメーターはステートメント・ストリングの中の対応する疑問符に結び付けられます。 つまり、1 番目のパラメーターは 1 番目の疑問に結び付けられ、 2 番目のパラメーターは 2 番目の疑問符に結び付けられ、順次同様になります。
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)');ただし、変数を設定しておいて、それを PASSTHRU ステートメントで参照する場合は、 引用符は省略します。以下に例を示します。
SET myVar = 'SELECT * FROM user1.stocktable'; SET OutputRoot.XML.Data[] = PASSTHRU(myVar);
call procedure-name [([parameter][,[parameter]]...)]}
WebSphere Business Integration Message Broker の PASSTHRU 関数の入力パラメーターとしては、 上記のエスケープ・シーケンスのみがサポートされています。
PASSTHRU('{call proc_insert_comp(?,?)}',InputBody.Test.Company,InputBody.Test.Price);
PASSTHRU('{call share_management.add_share(?,?)}', InputBody.Test.Company,InputBody.Test.Price);
メッセージ・フローがコミットまたはロールバックされると、データベース操作もコミットまたはロールバックされます。 この動作は、トランザクション・プロパティーが自動に設定されている Database ノードおよび Warehouse ノードの動作と一貫性があります。
メッセージ・フローのロールバックされる場合でも、データベース操作はコミットされます。 この動作は、コミットのトランザクション・プロパティーを持つ Database ノードおよび Warehouse ノードの動作と一貫性があります。
整合トランザクションの詳細については、 整合されたメッセージ・フローの構成を参照してください。
PASSTHRU('{call proc_delete_comp(?)}',InputBody.Test.Company);
注意 |
商標 |
ダウンロード |
ライブラリー |
技術サポート |
フィードバック
![]() ![]() |
ak05100_ |