修改Teradata中表的主索引

时间:2016-03-21 09:53:11

标签: sql database indexing teradata alter

我是Teradata的新手。 我有一个包含特定主索引的大约45k记录的表。 我想更改此表的主索引。 有人可以帮忙吗?

以下是我目前的主要指数。

PRIMARY INDEX IDX_NON_RTL_SALES_WIDE_01 ( col1 ,Col2 ,Col3 );

我想删除col3并添加其他几列。

先谢谢

2 个答案:

答案 0 :(得分:2)

除非表格为空,否则您无法更改teradata中的PI。

您需要将数据复制到另一个表,不稳定或永久。

然后你可以改变你的索引:

alter table <TableName> modify primary index Index_Name(col1, col2, ...);

答案 1 :(得分:0)

一般情况下,您不应更改Teradata上的PI。我建议用新PI创建一个新表并删除旧表。

CREATE TABLE BLA_new
  as BLA_old
  with data
PRIMARY INDEX ( <<new PI -columns>>);
DROP TABLE BLA_old;