![]() |
Datenbank: firebird • Version: 2.1 • Zugriff über: zeos
datentyp eines feldes ändern
hallo zusammen,
ich möchte per script den Datentyp eines Feldes von integer nach decimal ändern. leider kennt Firebird modify nicht :-( gibts ne andere Möglichkeit, ausser die Felder neu anzulegen? Danke Gruss KH |
AW: datentyp eines feldes ändern
|
AW: datentyp eines feldes ändern
1, Lege eine dummy-Spalte mit neuen Feldtyp an
2, Kopiere mittels Update-Befehl die Daten aus der alten Spalte in den neuen Typ 3, Lösche die alte Spalte 4, Benenne die dummy-Spalte um. Vor allem mittels 2, kannst du erst mal schauen ob alle Daten fehlerfrei in die neue Spalte kopiert werden können. |
AW: datentyp eines feldes ändern
ich danke euch,
hatte gehofft es geht in einem Schritt ;-) Gruss KHH |
AW: datentyp eines feldes ändern
INTEGER auf NUMERIC sollte auch in einem Schritt machbar sein, sofern:
- Auf der Spalte keine Abhängigkeiten sind (Constraints, Triggers, Stored Procedures ...) - Der Ziel NUMERIC Typ eine entsprechend große Ausprägung hat. So wirst du einen BIGINT z.b. in keinen NUMERIC(4,2) unterbringen Die Syntax hat dir DeddyH über den Link schon gegeben. |
AW: datentyp eines feldes ändern
Wenn nicht hilft Berhards Lösung auf jeden Fall
|
AW: datentyp eines feldes ändern
Mit dem Unterschied, dass bei einer Tabelle mit vielen Datensätzen (Tabellen mit > 100 Mio. Datensätzen soll es geben) der Server viel mehr beschäftigt ist, als wenn man das Umbenennen direkt, d.h. ohne temporäre Spalte durchbekommt.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:31 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz