我有一个包含很多行的表,我在插入或更新事件中更改了与触发器关联的功能.此函数根据两个或多个单元格中的值进行计算以使用条件逻辑更新列,因此单个更新语句将无用.
那么,我可以使用哪个SQL语句重新执行触发器并更新所有行?
谢谢.
您必须使用完全相同的值更新列.当然这取决于触发条件.例如:
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; /