为什么分发密钥无法在Netezza中更新

时间:2012-03-31 03:18:14

标签: sql sql-update netezza

我尝试更新Netezza中的分发密钥,但我收到以下错误。这可能是造成此错误的原因?

enter image description here

1 个答案:

答案 0 :(得分:2)

错误消息显示AD_START_DAY_KEY是分发列,无法更新分发列。

来自DB Technology: Netezza Questions and Answers

  

在创建表时没有使用分配子句时,Netezza使用了什么分布。
  第一栏(与Teradata相同)。

     

我们可以更新Netezza表格中的所有列。
  不,分发子句中使用的列不能用于更新。请记住,最多可以使用四列在SPU上分发数据。从实际意义上讲,更新分发列会导致数据的重新分配;涉及大表时,单个性能最大的打击。这种限制是有道理的。

解决方法是删除行,然后插入一行。