screamboy14 Geschrieben 29. Oktober 2009 Teilen 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 Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Clevemayer Geschrieben 29. Oktober 2009 Teilen Geschrieben 29. Oktober 2009 schon mal an einen update table Befehl gedacht? MfG Hier Klicken Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
grueni Geschrieben 29. Oktober 2009 Teilen 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 Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Clevemayer Geschrieben 29. Oktober 2009 Teilen 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 Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
grueni Geschrieben 29. Oktober 2009 Teilen 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 Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Clevemayer Geschrieben 29. Oktober 2009 Teilen 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 Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
screamboy14 Geschrieben 29. Oktober 2009 Autor Teilen 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 Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
grueni Geschrieben 29. Oktober 2009 Teilen 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 Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
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.