screamboy14 Geschrieben 29. Oktober 2009 Geschrieben 29. Oktober 2009 hallo ich habe ein problem ich arbeite mit der as 400 und habe ausversehen in meiner tabellle den spaltennamen falch eingegeben wie kann ich mit einem sql befehl auf der as400 den spaltennamen ändern( change geht auf der as 400 nicht) Zitieren
Clevemayer Geschrieben 29. Oktober 2009 Geschrieben 29. Oktober 2009 schon mal an einen update table Befehl gedacht? MfG Hier Klicken Zitieren
grueni Geschrieben 29. Oktober 2009 Geschrieben 29. Oktober 2009 Sprichst du hier von einer DB2 Datenbank auf einer AS400? In dem Fall würde ich es mit ALTER TABLE machen. Mit UPDATE verändert man den Wert eines Feldes, nicht den Namen des Feldes an sich. Zitieren
Clevemayer Geschrieben 29. Oktober 2009 Geschrieben 29. Oktober 2009 @grueni ich glaube mich erinnern zu können, dass man mit Update auch die Feldbezeichnung ändern kann... Ändert man mit Alter nicht nur den Feldtyp? MfG Zitieren
grueni Geschrieben 29. Oktober 2009 Geschrieben 29. Oktober 2009 Da ich noch nicht genau weiß, was der Threadersteller meint, kann ich nur bißchen rumraten. Ich glaub aber nicht, daß er hier im richtigen Bereich des Forums ist. Da Update eine DML-Anweisung und keine DDL-Anweisung ist, kann man damit üblicherweise nichts an der Struktur von Tabellen ändern. Sollte das doch irgendwie gehen, lasse ich mich gerne eines Besseren belehren. Es gibt Datenbanken, bei denen man mit ALTER TABLE den Feldnamen ändern kann (z.B. bei MySQL geht das mit ALTER TABLE ... CHANGE wenn ich mich noch recht entsinne). Falls dies nicht möglich ist, muß man halt zuerst mit ALTER TABLE ... ADD COLUMN die neue Spalte hinzufügen, mit UPDATE die Daten aus der alten Spalte in die neue Spalte einfügen und mit ALTER TABLE ... DROP COLUMN die alte Spalte löschen. Zitieren
Clevemayer Geschrieben 29. Oktober 2009 Geschrieben 29. Oktober 2009 @grueni nene, das sicher nicht, ich dachte nur Alter wäre lediglich für das Ändern vom Feldtyp, kann natürlich sein das ich mcih irre... Ja der Weg mit dem Alter kam mir auch in den Sinn, dachte dann halt das es mit Update einfacher geht, war mir aber nichtmehr sicher, aber erstmal abwarten was der User möchte. MfG Zitieren
screamboy14 Geschrieben 29. Oktober 2009 Autor Geschrieben 29. Oktober 2009 ja ich meine db2 auf der as 400 =) und ddl ist es auch , da ich den SPALTENNAME (also die Strucktur) ändern möchte Zitieren
grueni Geschrieben 29. Oktober 2009 Geschrieben 29. Oktober 2009 Wenn DB2 kein CHANGE oder ähnliches kennt, dann kannst du es auch machen, wie ich es vorher geschrieben habe: 1. Neue Spalte hinzufügen mit ALTER TABLE deineTabelle ADD COLUMN neueSpalte deinDatentyp 2. Daten in neue Spalte einfügen mit UPDATE deineTabelle SET neueSpalte=alteSpalte 3. Alte Spalte löschen mit ALTER TABLE deineTabelle DROP COLUMN alteSpalte Die genaue Syntax bei DB2 wirst du vermutlich noch nachschlagen müssen. Vielleicht gibts noch elegantere Lösungen, ich kenn mich bei DB2 nicht wirklich aus. Es wäre übrigens ausgesprochen hilfreich, wenn du deine Threads im richtigen Bereich postest und auch mit den entscheidenden Infos rüberkommst. Daß die Datenbank auf einer AS400 läuft, interessiert bei deinem Problem nicht wirklich. Daß es sich dabei aber um DB2 handelt sehr wohl. Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.