2016-03-21 6 views
0

Ich bin neu in Teradata. Ich habe eine Tabelle mit rund 45k Datensätze mit einem bestimmten Primärindex. Ich möchte den Primärindex dieser Tabelle ändern. Kann jemand pls helfen?Ändern des Primärindex einer Tabelle in Teradata

Unten ist mein derzeitiger Primärindex.

PRIMARY INDEX IDX_NON_RTL_SALES_WIDE_01 (col1 ,Col2 ,Col3); 

Ich möchte Col3 entfernen und fügen Sie einige andere Spalten hinzu.

Vielen Dank im Voraus

Antwort

1

Sie kein PI in teradata es sei denn, die Tabelle leer ist verändern kann.

Sie müssen die Daten in eine andere Tabelle kopieren, flüchtig oder permanent.

Dann können Sie Ihren Index ändern:

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

im Allgemeinen sollten Sie nicht das PI auf Teradata verändern. Ich würde vorschlagen, eine neue Tabelle mit neuem PI zu erstellen und das alte zu löschen.

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