1
我有一個DW表,我從中插入表中插入數據。該DW表包含5列,我基本上檢查是否所有5列的組合已經存在於DW表中,同時從臨時表中選擇,如果它存在,那麼我不進行插入(或更新)並跳過該行(因爲它已經存在)。紅移插槽
另一方面,如果有任何行沒有5列的組合,那麼我做一個插入。
有沒有辦法使用upsert實現這一點。因爲我沒有在這裏做任何更新操作(只插入和刪除(這是忽略插入))。我不確定upsert是否是正確的選擇。
我有一個DW表,我從中插入表中插入數據。該DW表包含5列,我基本上檢查是否所有5列的組合已經存在於DW表中,同時從臨時表中選擇,如果它存在,那麼我不進行插入(或更新)並跳過該行(因爲它已經存在)。紅移插槽
另一方面,如果有任何行沒有5列的組合,那麼我做一個插入。
有沒有辦法使用upsert實現這一點。因爲我沒有在這裏做任何更新操作(只插入和刪除(這是忽略插入))。我不確定upsert是否是正確的選擇。
在Redshift中沒有UPSERT
這樣的東西,請參閱documentation。如果您打算只將行加載到尚未包含的表中,則應該這樣做:
insert into target_table
select
*
from
source_table
left join
target_table using(col1, col2, col3, col4, col5)
where
target_table.col1 is null
;