Fir*_*ame 3 upsert data-warehouse amazon-web-services amazon-redshift
我有一个 DW 表,我正在其中插入一个临时表中的数据。DW 表包含 5 列,我基本上是在从临时表中选择时检查 DW 表中是否已经存在所有 5 列的组合,如果存在,则我不进行插入(或更新)并跳过该行(因为它已经存在)。
另一方面,如果存在没有 5 列组合的任何行,那么我进行插入。
有没有办法使用 upsert 来实现这一点。因为我在这里没有做任何更新操作(仅插入和删除(即忽略插入))。我不确定 upsert 是否是正确的选择。
UPSERTRedshift 中没有这样的东西,请参阅他们的文档。如果您打算仅将行加载到尚未包含的表中,那么这应该可以解决问题:
insert into target_table
select
*
from
source_table
left join
target_table using(col1, col2, col3, col4, col5)
where
target_table.col1 is null
;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4968 次 |
| 最近记录: |