如何在数据库中保留和​​使用公式(Excel)?

时间:2015-03-21 20:50:02

标签: mysql sql database access-vba ms-access-2007

这是一个非常普遍的问题......

想象一下,我有一个包含4列的Excel表格:

     A    B       C    D
1    year revenue cost benefit
2    2000 155     30   125
3    2001 144     70   74
4    2002 189     40   149
...  ...  ...     ...  ...

benefit是根据revenue减去cost计算得出的。因此,D2的公式为=B2-C2; D3的公式为=B3-C3 ...

现在我想将此表转换为数据库。该数据库将包含4个字段:yearrevenuecostbenefit。存储数据很容易。但是,我的问题是是否存在存储关系benefit = revenue - cost

的某处

这种关系很有用。例如,如果我将(2015, 222, 45)作为(year, revenue, cost)插入,benefit可以通过关系和某种机制自动计算和插入。

有谁能告诉我数据库必须保持关系并自动化这种事情?

2 个答案:

答案 0 :(得分:0)

想象一下,您有一个用年份,收入和成本列定义的数据库表。

您可以运行查询以获取计算值,例如:

select
    year,
    revenue,
    cost,
    revenue - cost as benefit
from
    table

在Access中,这将被称为查询,并且可以保存定义。查询可以用作其他查询的数据源。

答案 1 :(得分:0)

MySQL数据库通常使用triggers来完成这样的事情。

作为一个简单的例子,假设您的数据库名为exceldb,您可以通过运行以下查询来实现目标:

CREATE TRIGGER myTrigger
  BEFORE INSERT ON exceldb
  FOR EACH ROW
    SET NEW.benefit = NEW.revenue - NEW.cost;

运行此查询一次后,benefit的值应在每次新插入时自动计算(无需"调用"或"调用"手动触发)

有关MySQL触发器语法的更多信息,请参阅this page