当前位置:  开发笔记 > 数据库 > 正文

我可以使用哪个SQL语句重新执行触发器并更新表中的所有行?

如何解决《我可以使用哪个SQL语句重新执行触发器并更新表中的所有行?》经验,为你挑选了1个好方法。

我有一个包含很多行的表,我在插入或更新事件中更改了与触发器关联的功能.此函数根据两个或多个单元格中的值进行计算以使用条件逻辑更新列,因此单个更新语句将无用.

那么,我可以使用哪个SQL语句重新执行触发器并更新所有行?

谢谢.



1> FerranB..:

您必须使用完全相同的值更新列.当然这取决于触发条件.例如:

UPDATE table
  SET columnX = columnX;

无论如何,作为这种情况的最佳实践我通常拥有和相关的功能,我可以运行类似的东西(不确定是否适用于progresql):

BEGIN
  for c in (select column_id from table)
  loop
    function_on_trigger(c.column_id);
  end loop;
END;
/

推荐阅读
Chloemw
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有