2016-05-07 58 views
0

我正在設計olap查找事實表的過程。目前,我不會允許用戶運行olap查詢,如自定義維度或切片。我將自己創建查詢以運行特定報告。OLAP事實表空記錄

我的問題是在這些報告的事實表上。我想避免更新現有的記錄,只需插入多個維度的行。例如:

兩個插件:

YEAR AMOUNT 
2016 1 
2016 1 

而不是一個插件,檢查是否年= 2016存在,如果這樣的話一個更新:

YEAR AMOUNT 
2016 2 

回答

0

使用的Upsert邏輯如下:

在插入源表與目標表的內連接時,匹配更新量字段或插入新記錄。

insert into target (select * from source s, target t where s.year <> t.year); 

Update target T set T.amount = T.amount + S.amount 
from source S where T.year = S.year;