![]() |
Feldgröße zur Laufzeit ändern
Hallo,
ich muss bei einer Paradox-Tabelle eines bereits installierten Programms die Feldgröße (String-Feld) ändern. Ich weiß zwar dass man mit "alter table..." Felder hinzufügen bzw. löschen kann, aber die Feldgröße ändern? Hat vielleicht jemand eine Idee? Grüsse Frank |
Uff,
da müssen die Systemtabellen aktualisiert werden. Hoffentlich irre ich mich. :mrgreen: Gruß Hansa |
Hallo Hansa,
ja, das hoffe ich auch :mrgreen: . Natürlich kann man sich mit - Temp-Feld anlegen - Daten umkopieren - Altes feld löschen - Temp-Feld umbenennen behelfen, ich hoffe aber, dass es einen eleganteren Weg gibt. Grüsse Frank |
Hallo FBrust,
Interbase erlaubt nebem dem Löschen und Hinzufügen auch das Ändern von Spalten Typen oder Position. Das geht dann so:
Delphi-Quellcode:
Ich glaube aber, dass lokal SQL diese Anweisung nicht unterstützt, aber du kannst es ja mal versuchen.
ALTER TABLE Pernonen
ALTER COLUMN Name TO TYPE CHAR(30) DROP und ADD wird auf jeden Fall unterstützt, bliebe also der Vorschlag von oben: Feld hinzufügen, Werte kopieren, altes Feld löschen |
Hi !
Per SQL mache ich das immer folgendermassen:
Code:
Vielleicht hilft's ja !!!
alter table Kunden modify Name CHAR(50);
Gruß, Helld |
Hallo,
so, ich hab jetzt die beiden o. a. Vorschläge ausprobiert, aber bei beiden meldet Delphi eine EDBEngineError-Exception "Unbekanntes Schlüsselwort" entweder "MODIFY" oder "ALTER". Dann gehts wohl doch nur über den "harten Weg"... Jedenfalls danke für die Antworten. Grüsse Frank |
Und das bringt mich auch schon zur nächsten Frage:
Wie benennt man denn ein Feld um? Ich hab mal in der Hilfe zu Local SQL nachgesehen, aber da steht nix. Gibt es da überhaupt eine Möglichkeit? Grüsse Frank |
ich habe mal einfach so etwas probiert, aber in IBexpert. Da gibt es eine Funktion "Edit Field"
Code:
d.h., ich schneide hier nur das "IELD" vom Feldnamen ab.
ALTER TABLE NEW_TABLE ALTER NEW_FIELD TO NEW_F
|
Re: Feldgröße zur Laufzeit ändern
Hallo,
Werde mich mal an diesen Thread anhängen, weil die Frage dazupasst.
SQL-Code:
Wie sieht diese Anweisung für Access aus? Das TO scheint es hier nicht zu geben. Wenn ichs weglasse beschwert er sich, dass es das Feld NEW_F nicht gibt.
ALTER TABLE NEW_TABLE ALTER NEW_FIELD TO NEW_F
grüße, daniel |
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:21 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