我必须在redshift中通过ETL创建一个表。首先,我将数据加载到临时表中,然后将其交易到主表。当我想更新特定时期的数据时,下面的方法很好。如果我刚刚创建了main_table并且它没有任何数据,那么TRANSACTION和DELETE语句如何在main_table中初始上传数据。我是ETL流程的新手。
BEGIN TRANSACTION;
DELETE FROM main_table
USING temporary_table
WHERE main_table.id = temporary_table.id
AND main_table.time_stamp = temporary_table.time_stamp
INSERT INTO main_table
SELECT * FROM temporary_table ;
END TRANSACTION;