获取有关 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 语句,因此性能也会很好。
我需要有关逻辑的建议。应用程序中有一个更新查询,如下所示
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 语句,因此性能也会很好。