我想要拿出一個觸發器來填充插入/更新的行的列,這個分數取決於同一行的其他列上的數值。從插入的行中的其他數據填充列
例如
+------+------+------+------+------+------+
| col1 | col2 | col3 | col4 | col5 | col6 |
+------+------+------+------+------+------+
| 1 | 2 | 1 | 3 | 1 | |
+------+------+------+------+------+------+
這是我要插入的行,我想,以填補col6
使用其他列的值來計算的得分
(100 - avg(col1:col5)/4*100)
我能做到這一點通過觸發器或程序?我應該在插入之前還是之後執行此操作?
哪個版本的Oracle?從11g開始,您可以使用虛擬列。否則,您可以擁有一個可以進行計算的視圖。實際上,存儲派生數據只是複製了您已有的數據;而且您還需要定義如果其他值發生了變化會發生什麼情況 - 您是否計劃在此情況下更新col6? –
另外,如果您嘗試更新其中一列,會發生什麼情況?這是否改變col6的價值? – GurV