# DB2 CREATE TALBE LIKE kopiert keine Indizes



## TheBodo (20. Januar 2010)

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:


```
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:


```
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.


----------



## Biber2 (20. Januar 2010)

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


----------



## TheBodo (20. Januar 2010)

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.


----------

