2017-08-01 44 views
0

我想在Greenplum的內部表上執行insert,update,delete語句,我想用外部表來更新內部表的數據。 我的內表DDL是 create table test ( "ID" bigint, "a" char(10), "b" char(10), primary key ("a") )DISTRIBUTED BY ("a"); 如何在Greenplum中執行更新?

當我在這個表我得到錯誤執行更新

  • 錯誤:無法prallelize,更新分佈列的UPDATE語句* 我應該如何繼續?
+0

您無法更新「a」列,因爲這是您分配數據的方式。我也建議你從表中刪除主鍵。這不是必需的。 –

+0

我想在Greenplum中創建一個數據倉庫,因此我想給出主鍵約束,我應該如何繼續定義約束條件 – vkumar

+0

如何定義主鍵約束? alter table test添加主鍵(a);但你原來的問題是關於如何更新。您無法更新分發列,因此請選擇不同的列以分發或不更新該列。 –

回答

0

雖然Anuraag已經回答了你的問題,但也有更新您的表的另一種方法

首先改變你的分佈式條款 修改表的表名組隨機分佈。通過(a)

其次,運行更新腳本

三,重置您的分佈式條款 修改表的表名組分佈式。

在段中重新編排記錄 修改表名稱集(with reorganize = true)。