Php 如何在像Quickbase这样的更新上在sql server(Mysql或PostgreSQL,EST)中运行公式?

Php 如何在像Quickbase这样的更新上在sql server(Mysql或PostgreSQL,EST)中运行公式?,php,mysql,sql-server,database,postgresql,Php,Mysql,Sql Server,Database,Postgresql,我有一个PHP/MariaDB(MySQL)程序,它整天都在做很多数学方程。现在PHP正在为我做所有的计算,并更新mysql数据库。我的这个程序正在增长,我需要一个更好的解决方案来运行这些“方程/公式”。我已经研究了存储过程和触发器,但发现MySQL上的这两个都存在缺陷,它们非常耗时。我查看了QuickBase,似乎很喜欢它的安装位置,但我需要直接访问SQL数据库 是否有一个好的解决方案,可以在更新或插入时基于公式(如果有IF,ELSE,CASE语句)自动更新SQL数据库中的字段?我愿意尝试一个

我有一个PHP/MariaDB(MySQL)程序,它整天都在做很多数学方程。现在PHP正在为我做所有的计算,并更新mysql数据库。我的这个程序正在增长,我需要一个更好的解决方案来运行这些“方程/公式”。我已经研究了存储过程和触发器,但发现MySQL上的这两个都存在缺陷,它们非常耗时。我查看了QuickBase,似乎很喜欢它的安装位置,但我需要直接访问SQL数据库

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

感谢您的建议

您可以使用(MS SQL Server):

  • 计算列是一个
    虚拟列
    ,除非列被标记为
    持久化
    ,否则
    不会物理存储在表中。计算列表达式
    可以使用来自其他列的数据来计算它所属列的值。
    示例:

    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
    )
    

例如:如果(COL_A>COL_C)COL_B=4 ELSE COL_B=0 ENDIF,诸如此类,我知道QB有自己的语法,但我想问的是,有没有一种方法可以在sql server中运行?“我研究了存储过程和触发器,但发现MySQL上两者都有缺陷,而且非常耗时”-呃,什么?@TVarcor使用计算列是解决此类情况的最佳方法我找到了解决方案。-虚拟列。感谢所有的帮助和提示去哪里!