DB2 CREATE TALBE LIKE kopiert keine Indizes

TheBodo

Erfahrenes Mitglied
Hallo allerseits,

ich habe ein kleines Problem mit CREATE TABLE LIKE in DB2.
Ich möchte eine Tabelle kopieren, und das funktioniert auch ganz gut:

Code:
CREATE TABLE abc.abc LIKE def.def

Allerdings gibt er mir, wenn ich überprüfen will, ob die Indizes alle sitzen, ein leeres Result-Set zurück:

Code:
CALL SYSPROC.ADMIN_CMD('DESCRIBE INDEXES FOR TABLE abc.abc SHOW DETAIL')

Bei der selben Anfrage auf die alte Tabelle schmeißt er mir die Indizes allerdings aus.

Wie kann ich die Indizes mitkopieren?

Danke im vorraus.
 
Moin TheBodo,

ein "CREATE TABLE LIKE" kopiert nur Spalten und Spaltencharakteristiken (e.g. NOT NULL) einer Table oder View.
Keine referenziellen Beziehungen, Constraints oder Indices.

Gewünschte Index-Objekte musst du "ganz normal" über "CREATE INDEX..." anlegen, also über ein separates DDL-Statement.

[In der Theorie könntest du natürlich aus dem Katalog die Index-Infos der vorhandenen Tabelle auslesen und daraus ein Statement generieren, aber so häufig wirst du das wohl nicht brauchen, dass sich eine Automatisierung lohnt]

Grüße
Biber
 
Hallo Biber,

vielen Dank für deine Antwort..
Ich werds wohl manuell machen..
Hatte nur gehofft, dass es auch anders geht... nunja..

Vielen Dank nochmal.
 
Zurück