我有一段连接到SQL Server的java代码,它执行以下操作:
首先是一堆批量通过stmt.addBatch
declare @crt_dt as datetime
set @crt_dt = (select getdate())
update a_table set the_timestamp=@crt_dt
然后使用stmt.executeQuery
select @crt_dt as my_timestamp
然后stmt.executeBatch
然后conn.commit
我遇到的问题是我在选择执行时遇到错误。我做错了什么?或者有一个替代方法可以获得值@crt_dt
吗?
另外,如果我没有select,一切都很好,除了我得到一个返回int数组,其值为-2
,1
,-3
。我不明白-3
来自哪里。
答案 0 :(得分:0)
我的猜测是,您无法在批处理的上下文中运行stmt.executeQuery
,或者您必须在stmt.executeBatch
之前运行stmt.executeQuery
。
您可以将select @crt_dt as my_timestamp
添加到批处理中吗?换句话说,您可以从批处理中返回值吗?