Amazon Redshift
数据库开发人员指南 (API Version 2012-12-01)
AWS 服务或AWS文档中描述的功能,可能因地区/位置而异。点 击 Getting Started with Amazon AWS to see specific differences applicable to the China (Beijing) Region.

通过替换现有行执行合并操作

通过替换现有行执行合并操作

  1. 创建暂存表,然后使用要合并的数据填充它,如下面的伪代码所示。

    Copy
    create temp table stage (like target); insert into stage select * from source where source.filter = 'filter_expression';
  2. 使用与暂存表的内部联接从要更新的目标表中删除行。

    将删除和插入操作放在单个事务块中,以便在出现问题时回滚所有内容。

    Copy
    begin transaction; delete from target using stage where target.primarykey = stage.primarykey;
  3. 插入暂存表中的所有行。

    Copy
    insert into target select * from stage; end transaction;
  4. 删除暂存表。

    Copy
    drop table stage;