我们有一个场景,我们需要将登台表与目标表进行比较。最后,要删除目标表中的记录
我们尝试了
DELETE FROM DestTable
FROM DestTable d
LEFT JOIN StagingTable s ON d.ID = s.ID
WHERE s.id IS NULL
请提供建议。如何在此方案中创建删除语句?
对此有任何帮助将不胜感激?
答案 0 :(得分:1)
HAWQ不支持此功能。 HAWQ仅支持INSERT和TRUNCATE。
在Greenplum中,小心执行大量DELETE语句。您需要在运行DELETE之前或之后运行VACUUM命令。就像在HAWQ中一样使用TRUNCATE和INSERT可能会更好。
DELETE FROM DestTable d
USING StagingTable s
WHERE d.ID = s.ID;