我如何在 sql 服务器(Mysql 或 PostgreSQL,EST)中像 Quickbase 一样在更新时运行公式?

How can I run a formula in a sql server (Mysql or PostgreSQL, EST) on update like Quickbase?

我有一个 PHP/MariaDB(MySQL) 程序,可以全天执行大量数学方程式。现在 PHP 正在为我做所有的数学计算并更新 mysql 数据库。我的这个程序正在增长很多,我需要一个更好的解决方案来运行这些 'equations/formulas'。我查看了存储过程和触发器,但发现 MySQL 两者都存在缺陷,而且它们非常耗时。我查看了 QuickBase 并且似乎喜欢他们设置它的位置但是我需要直接访问 SQL 数据库。

是否有好的解决方案可以在更新或插入时自动根据公式(其中有 IF、ELSE、CASE 语句)更新 SQL 数据库中的字段?如果需要,我愿意尝试一个新的数据库。我在网上看到 QuickBase 使用 Microsoft SQL 服务器,但没有找到与 MySQL 或 PortgreSQL 不同的解决方案。

感谢您的建议

您可以使用 Computed Columns(MS SQL 服务器):

  • 计算列是 table 中 is not physically storedvirtual column,除非该列被标记为 PERSISTED。计算列表达式 can use data from other columns to calculate 它所属列的值。 示例:

    CREATE TABLE [dbo].[Table_Test]
    (
     [COL_A] INT NOT NULL,
     [COL_C] INT NOT NULL,
     [COL_B] as 
      CASE WHEN [COL_A]>[COL_C] 
       THEN 4
       ELSE 0
      END
    )