2017-09-26 23 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; 
相關問題