2017-08-01 83 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)。

相关问题