1

我正在尝试使用 IN 作为子句和 jdbc 出站更新多条记录的一列。

update someTable set aColumn = myvalue where bColumn in(id_1, id_2)

我正在设置一个变量,它带回了我正在寻找的 id(数字),但是当试图将数字替换到更新语句中时,它抱怨数据类型不匹配。我已经尝试了这两个设置变量,但都没有成功。(jdbc outbound 在它下面)

<set-variable variableName="numbers" value="#[message.payload.numbers;int]" 
    doc:name="set numbers var" />

<set-variable variableName="numbers" value="#[message.payload.someNumbers]" 
   doc:name="set numbers var" />

<jdbc:outbound-endpoint exchange-pattern="one-way" queryTimeout="-1" 
    doc:name="update timestamp" 
    connector-ref="AS400" queryKey="updateCellTblTimestamp">
   <jdbc:query key="updateCellTblTimestamp" 
      value="update mytbl set mycolumn = somevalue where myid in(#[flowVars.numbers]) "/>
</jdbc:outbound-endpoint>   

使用骡 3.3.1 CE

4

0 回答 0