【问题标题】:How to pass a dynamic list to ESQL Passthru query in IIB如何将动态列表传递给 IIB 中的 ESQL Passthru 查询
【发布时间】:2019-09-07 02:11:14
【问题描述】:

我需要将参数的动态列表传递给 IIB 中的 SQL 查询。请为此提供任何代码 sn-ps 帮助我。请注意,我们无权在 DB 端创建存储过程。所以我们需要将参数列表直接从IIB传递给SQL查询。

场景:

SET A= InputRoot.XMLNSC.Field1; SET B= InputRoot.XMLNSC.Field2;

上述字段的数量可能会动态变化。

SET query = select * from table where values in (?) SET OutputRoot.XMLNSC.Result[] =Passthru (query To Database.DB) values (list)

【问题讨论】:

    标签: ibm-integration-bus


    【解决方案1】:

    以下是伪代码。假设您有一个 [LIST OF VALUES] 数组。试试看。

    DECLARE PARM_1 CHAR '';
    DECLARE QUERY CHAR;
    FOR CURR AS {LIST OF VALUES} DO
       SET PARM_1 = Write code to get list of values in the format => 'A','B','C'
    END FOR;
    
    --Comment: PARM_1 value now should be 'A','B','C'
    --Comment : Below forming the query string and then use EVAL 
    SET QUERY = 'SELECT * FROM TABLE WHERE VALUE IN (' || PARM_1 || ')';
    SET Environment.RESULT[] = EVAL(QUERY);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-08-04
      • 1970-01-01
      • 1970-01-01
      • 2018-08-15
      • 1970-01-01
      • 2019-02-19
      相关资源
      最近更新 更多