Postgresql 在红移中插入覆盖表
我想完全覆盖红移表 例如,在Hive中,我可以执行以下操作:Postgresql 在红移中插入覆盖表,postgresql,syntax,amazon-redshift,Postgresql,Syntax,Amazon Redshift,我想完全覆盖红移表 例如,在Hive中,我可以执行以下操作: INSERT OVERWRITE INTO target SELECT s.* FROM staging s LEFT JOIN target t ON s.primaryKey = t.primaryKey AND s.distKey = t.distKey WHERE t.primaryKey IS NULL; 我无法在红移模式下实现这一点(除了删除并重新创建表) 有人知道覆盖的红移语法是什么吗 虽然没有与插入覆盖相当的命令,
INSERT OVERWRITE INTO target
SELECT s.* FROM staging s LEFT JOIN target t
ON s.primaryKey = t.primaryKey AND s.distKey = t.distKey
WHERE t.primaryKey IS NULL;
我无法在红移模式下实现这一点(除了删除并重新创建表)
有人知道覆盖的红移语法是什么吗 虽然没有与插入覆盖相当的命令,但您可以通过以下方式执行此操作:
TRUNCATE
- 使用
选择进入
SELECT INTO FROM
TRUNCATE
命令是删除表中所有内容的非常有效的方法。但是,它不能通过回滚来逆转,因此请确保您确实想要这样做
见:
虽然没有等效于插入覆盖的命令,但您可以通过以下方式执行此操作:
TRUNCATE
- 使用
选择进入
例如:SELECT INTO FROM
TRUNCATE
命令是删除表中所有内容的非常有效的方法。但是,它不能通过回滚来逆转,因此请确保您确实想要这样做
见:
上次我检查postgreql没有INSERT的覆盖子句上次我检查postgreql没有INSERT的覆盖子句现代pg v9.5+可以用于冲突规则()现代pg v9.5+可以用于冲突规则()