Forum
17. August 2006 um 6:52 Uhr #3112
Hallo Nathalie,
weder für DB2 for Linux/Unix/Windows noch für DB2 for z/OS gibt es Funktionen oder Kommandos, die die Implementierung einer Strukturänderung vollständig unterstützen. Aber natürlich gibt es Mittel und Wege:
- zur Vorsicht ein 1:1 Abzug der Tabelle in der alten Struktur zur eventuellen Rekonstruktion
- SELECT Statement formulieren
erzeuge den Output in erforderlicher Form, neue Felder z.B. mit
(CAST 1 AS INTEGER) AS NEWCOL1, (CAST NULL AS CHAR(1)) AS NEWCOL2, … - Verwende ein Programm, dass Daten im internen Format ausgeben kann,
unter z/OS ist dies z.B. DSNTIAUL
unter L/U/W ist dies der EXPORT Command - DROP alte Table
- CREATE neue Table
- Laden der umstrukturierten Daten mit dem LOAD Utility
Es gibt auch noch andere Möglichkeiten, wie z.B. ein
- [tt]INSERT INTO NEWTABLE
SE LECT … wie oben … FROM OLDTABLE[/tt] - dann ein RENAME TABLE.
Aber Vorsicht: Wg. der Beziehung zu abhängigen Objekten (Views, Primary Key, Indexes) vorsichtig einsetzen. Meist nur für die schnelle Ad-hoc Aktion (z.B. in einer Entwicklungsumgebung) geeignet.
Viel Erfolg
Gernot