获取有关SQL更新记录的详细信息

时间:2016-02-24 05:06:25

标签: java sql jdbc db2

我需要有关逻辑的建议。应用程序中有一个更新查询,如下所示

<%= link_to "Edit", edit_post_path(post.id), :class => "btn", :remote => true, "data-toggle" => "modal", "data-target" => "#{post.id}-my-modal" %>

此更新从返回UPDATE TABLE SET FLAG = CASE WHEN FLAG = 'IP' THEN 'P' WHEN FLAG = 'IH' THEN 'H' WHEN FLAG = 'IM' THEN 'M' END WHERE ADJUSTMENT_ID IN (SELECT Query ) 的Java函数执行。

现在我需要获取更新记录的详细信息(表TABLE中的列数很少)并从函数而不是void返回LIST

由于性能原因,首先运行SELECT然后在循环中更新记录不是一个选项。记录使用单个UPDATE语句更新,因为它应该运行得更快。

保持可比性能的选择是什么?我应该使用存储过程吗?

1 个答案:

答案 0 :(得分:4)

SELECT ... FROM FINAL TABLE (UPDATE ....)

将完成这项工作。由于它是一个单独的SQL语句,因此性能也很好。

另见 http://www.idug.org/p/bl/et/blogid=278&blogaid=422