我的查询看起来像这样
MERGE dbo.myTable AS myt
USING (SELECT ? AS ID,
? AS Value) AS s
ON (s.id = myt.id)
WHEN MATCHED THEN
UPDATE SET myt.ApprovalUserId = s.ApprovalUserId
WHEN NOT MATCHED THEN
INSERT ( Value )
VALUES ( s.Value)
OUTPUT INSERTED.id;
我的java代码看起来像这样
jdbcTemplate.queryForInt(SQL, id, value);
但是当我尝试跑步时,我得到了
java.sql.SQLException: The executeQuery method must return a result set.
我想以某种方式提取合并“INSERTED.id”给出的 ID。是否有我应该查看的 JDBCTemplate 方法?还是我应该放弃合并,只使用选择、更新和锁定来执行此操作?
我正在使用 Sql Server 2012、Java 6 和 Spring jdbc 3.1.2.release