Sql 在Teradata中修改表的主索引
我是Teradata的新手。 我有一个大约45k条记录的表,其中有一个特定的主索引。 我想更改此表的主索引。 有人能帮忙吗 下面是我目前的主要索引Sql 在Teradata中修改表的主索引,sql,database,indexing,teradata,alter,Sql,Database,Indexing,Teradata,Alter,我是Teradata的新手。 我有一个大约45k条记录的表,其中有一个特定的主索引。 我想更改此表的主索引。 有人能帮忙吗 下面是我目前的主要索引 PRIMARY INDEX IDX_NON_RTL_SALES_WIDE_01 ( col1 ,Col2 ,Col3 ); 我想删除col3并向其中添加一些其他列 提前感谢除非表为空,否则不能在teradata中更改PI 您需要将数据复制到另一个表中,可以是易失性的,也可以是永久性的 然后您可以更改索引: alter table <Table
PRIMARY INDEX IDX_NON_RTL_SALES_WIDE_01 ( col1 ,Col2 ,Col3 );
我想删除col3并向其中添加一些其他列
提前感谢除非表为空,否则不能在teradata中更改PI 您需要将数据复制到另一个表中,可以是易失性的,也可以是永久性的 然后您可以更改索引:
alter table <TableName> modify primary index Index_Name(col1, col2, ...);
altertable修改主索引名称(col1,col2,…);
一般来说,您不应该更改Teradata上的PI。我建议创建一个带有新PI的新表,并删除旧表
CREATE TABLE BLA_new
as BLA_old
with data
PRIMARY INDEX ( <<new PI -columns>>);
DROP TABLE BLA_old;
CREATE TABLE BLA_new
老掉牙
有数据
一级指标();
放下桌上的陈设;
Hi Andrew,如果表包含一个标识列作为主索引,该怎么办?我们无法真正重新创建该表,因为它将为标识列生成与当前值不匹配的新值。知道如何更改具有标识列的表上的UPI/PI吗?谢谢