在 Teradata 中修改 table 的主索引

Modifying Primary Index of a table in Teradata

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

下面是我目前的主索引。

PRIMARY INDEX IDX_NON_RTL_SALES_WIDE_01 ( col1 ,Col2 ,Col3 );

我想删除 col3 并向其中添加一些其他列。

提前致谢

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

您需要将数据复制到另一个 table,易失性或永久性。

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

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

一般来说,您不应更改 Teradata 上的 PI。我建议创建一个带有新 PI 的新 table 并删除旧的。

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