Amazon web services 红移上升
我有一个DW表,在其中插入来自暂存表的数据。DW表包含5列,在从暂存表中选取时,我主要检查DW表中是否已经存在所有5列的组合,如果存在,则不进行插入(或更新)并跳过该行(因为它已经存在) 另一方面,如果存在没有5列组合的行,则我进行插入Amazon web services 红移上升,amazon-web-services,data-warehouse,amazon-redshift,upsert,Amazon Web Services,Data Warehouse,Amazon Redshift,Upsert,我有一个DW表,在其中插入来自暂存表的数据。DW表包含5列,在从暂存表中选取时,我主要检查DW表中是否已经存在所有5列的组合,如果存在,则不进行插入(或更新)并跳过该行(因为它已经存在) 另一方面,如果存在没有5列组合的行,则我进行插入 是否有一种使用upsert实现此目的的方法。因为我没有在这里执行任何更新操作(仅插入和删除(即忽略插入))。我不确定upsert是否是正确的选择。红移中没有upsert这样的东西,请查看他们的。如果您只想将尚未包含的行加载到表中,那么应该这样做: insert
是否有一种使用upsert实现此目的的方法。因为我没有在这里执行任何更新操作(仅插入和删除(即忽略插入))。我不确定upsert是否是正确的选择。红移中没有
upsert
这样的东西,请查看他们的。如果您只想将尚未包含的行加载到表中,那么应该这样做:
insert into target_table
select
*
from
source_table
left join
target_table using(col1, col2, col3, col4, col5)
where
target_table.col1 is null
;
我可以问一下如何处理多个唯一键吗?@xbeta您能再解释一下您的意思吗,即您想插入哪些行,以及您想忽略哪些行?我上面的示例假设
col1
-col5
的组合是唯一键。但是,您可以使用和where条款修改,以适合您的情况。