MySQL:带有派生列的可更新VIEW; “INSTEAD OF UPDATE”触发器的等效功能

时间:2013-03-06 20:29:38

标签: mysql sql

我希望有一个包含派生列的视图。例如,我有一个包含字段的表:Qty和Price。我的观点有那些字段以及计算字段数量*价格。

我正在使用MySQL。据我了解,如果存在派生表(可更新和可插入视图 - http://dev.mysql.com/doc/refman/5.0/en/view-updatability.html),MySQL不允许视图可编辑。

当我使用sqlite时,我能够通过创建“INSTEAD OF UPDATE”触发器来解决这个问题(例如,参见this stackoverflow响应)。但是,MySQL显然不允许这种类型的触发器。 (MySQL触发器语法 - http://dev.mysql.com/doc/refman/5.0/en/create-trigger.html

我有没有其他方法可以通过MySQL获得这种功能 - 即具有派生列的视图也可以编辑?显然,我可以在没有视图的情况下在应用程序端执行此操作,但如果可能的话,我更倾向于在数据库端。

1 个答案:

答案 0 :(得分:1)

为什么没有subtotal列,BEFORE INSERTBEFORE UPDATE触发器将其值设置为Qty * Price?