我正在尝试使用 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