NamedParameterJdbcTemplate batchUpdate不适用于合并

时间:2017-10-29 20:45:20

标签: spring db2 jdbctemplate

我正在使用NamedParameterJdbcTemplate batchUpdate运行以下合并查询。

batchUpdate(String sql,SqlParameterSource [] batchArgs)适用于具有1个项目的batchArgs,不适用于多个项目。下面是查询,我重命名了表列名。

NamedParameterJdbcTemplate.batchUpdate在单独运行每个数组项时运行,或者以NamedParameterJdbcTemplate运行.update()

Sql Query:

MERGE INTO tableName C1 USING (VALUES (:f1)) AS C2(Field1)    
ON (C1.CMP = C2.CO_C)     
WHEN MATCHED THEN      
   UPDATE SET Field2 = :date1, Field3 = :time1, Field4 =:userId                    
WHEN NOT MATCHED THEN     
    INSERT (Field5, Field1, Field4, Field2, Field3) VALUES (:offCC, :f1,:userId, :date1, :time1)
  

[错误] SQL异常:   [错误]消息:[jcc] [t4] [102] [10040] [4.22.29]批次失败。批次已提交,但批次的单个成员至少发生了一个例外。使用getNextException()来检索特定批处理元素的异常。 ERRORCODE = -4229,SQLSTATE = null
  [错误] SQLSTATE:null
  [错误]错误代​​码:-4229
  [错误] SQL异常:
  [错误]消息:VARIABLE未定义或无法使用。   SQLCODE = -312,SQLSTATE = 42618,DRIVER = 4.22.29   [错误] SQLSTATE:42618
  [错误]错误代​​码:-312
  [错误] SQL异常:
  [错误]消息:批处理元素#1出错:VARIABLE未定义或无法使用   [错误] SQLSTATE:42618   [错误]错误代​​码:-312

0 个答案:

没有答案