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

Get details about SQL updated records

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

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 函数执行的 returns void

现在我也需要获取更新记录的详细信息(来自 table TABLE 的几列)和 return LIST 来自函数而不是 void

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

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

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

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

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