2017-09-26 26 views
1

我有一个表格,我必须定义一列作为前两个的总和。有没有办法在定义(POSTGRESQL)中做到这一点?如果不是,你能告诉我怎么用触发器做到吗?有没有办法将一列定义为另外两列的总和?

假设我们有这样的:

Table Foo 
+---+---+---------+ 
| A | B | Sum_A_B | 
+---+---+---------+ 
| 2 | 3 | 5  | 
| ...    | 
+1

看到https://stackoverflow.com/questions/8250389/computed-calculated-columns-in-postgresql – etsa

+1

您可以创建一个视图。 '创建视图fooview作为选择a,b,a + b作为Sum_A_B从foo'。 – jarlh

+0

但是,你为什么要将它定义为2列的总和。您可以在运行时通过查询来执行相同的操作。 –

回答

1

我不认为你可以在Postgres的使用计算列,视图会比触发一个更好的选择:

CREATE VIEW viewname 
AS 
    SELECT a, 
      b, 
      (a + b) AS Sum_A_B 
    FROM foo; 

或者你可以不只是直接查询它?它需要被存储在表:

SELECT a, 
     b, 
     (a + b) AS Sum_A_B 
FROM foo; 
相关问题