我想要一个包含派生列的 View 。例如,我有一个包含字段的表:数量和价格。然后我的 View 具有这些字段以及计算字段 Qty*Price。
我正在使用 MySQL。据我了解,如果有派生表(可更新和可插入 View - http://dev.mysql.com/doc/refman/5.0/en/view-updatability.html),MySQL 不允许编辑 View 。
当我使用 sqlite 时,我能够通过创建“INSTEAD OF UPDATE”触发器来解决这个问题(例如,请参阅 this stackoverflow 响应)。然而,MySQL 显然不允许这种类型的触发器。 (MySQL 触发器语法 -- http://dev.mysql.com/doc/refman/5.0/en/create-trigger.html)
是否有任何其他方法可以通过 MySQL 获得这种功能——即具有派生列的 View 也可编辑?显然,我可以在没有 View 的应用程序端执行此操作,但如果可能的话,我更喜欢在数据库端执行此操作。
最佳答案
为什么不用 subtotal
列,使用 BEFORE INSERT
和 BEFORE UPDATE
触发器将其值设置为 Qty*Price?
关于MySQL:具有派生列的可更新 View ; "INSTEAD OF UPDATE"触发器的等效功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15257355/