SQL自动更新功能

时间:2013-03-28 10:51:24

标签: mysql sql oracle function

说我有这两个具有n个属性的实体 -

         Cost                            Total

         ------------                    ------------
          cost_value                      total_cost
         ------------                    ------------
         |100       |                    |360       |
         |200       |
         |50        |
         |10        |

此处'total'实体存储'cost'的总和。现在我将数据插入'cost'&自动“总计”将使用新的总和值进行更新。

是否可以编写任何自动调用的函数并执行我想要的任务?或任何其他方式?

2 个答案:

答案 0 :(得分:2)

有两种方法可以做到这一点:

  1. 如果您有一个存储过程来进行插入,您可以创建另一个以更新总数并按此顺序执行它们。
  2. 如果插入是在多个位置(直接来自应用程序和几个存储过程),您可以在Total表上创建一个触发器,进行更新,每次插入/更新时都会触发/ delete在cost表上进行。

答案 1 :(得分:-1)

奇怪的方法,但在简单的解决方案中,你将不得不有3个SQL语句。首先INSERT到成本,然后SELECT SUM(成本)和最后UPDATE总和与总和值。 Example of SUM