2016-11-28 74 views
0

我想將具有特定user_id的日誌數據移動到Redshift上的新表。我已經開始與WITHlike玩:使用Redshift將數據從一個表移動到另一個表

WITH moved_rows AS (
    DELETE FROM sensor_log_enable 
    USING sensor_log_disable 
    WHERE sensor_log_enable.user_id 
     IN (16,17,18) 
    RETURNING sensor_log_enable.* 
) 
INSERT INTO sensor_log_disable 
SELECT * FROM moved_rows; 

但紅移不喜歡它。

ERROR: syntax error at or near "DELETE" 
LINE 2:  DELETE FROM active_connections 

紅移似乎並不包括在DELETEWITH。那麼最好的策略是什麼? 然後INNER JOINLEFT OUTER JOINDELETE

回答

1

表之間,你必須「搬家」的數據:

  • 使用INSERT INTO複製數據到目標表
  • 使用DELETE刪除從源表中的數據

它們必須以單獨的SQL命令執行。但是,您可以將這些命令封裝在BEGIN/END語句中,以將它們作爲一個事務處理:

BEGIN; 
INSERT INTO...; 
DELETE FROM...; 
END; 
+0

謝謝John爲您解答。 – Mio

相關問題