View Full Version : SQL Datenfeld in Tabelle einfügen
Hallo Gemeinde,
besteht die Möglichkeit ein Datenfeld in eine DB an eine bestimmte Stelle einfügen zu können?
Beispiel:
Datensatz hat Felder.
- Nummer
- Kunde
- Adresse
- User ...
nun möchte ich gerne zwishen Kunde und Adresse das Feld Firma einfügen.
Ist das möglich?
Thx!
Bei SQL-Tabellen ist die Position des Feldes unerheblich.
Es gibt auch keinen SQL-Befehl dafür.
Was du machen kannst:
Eine neue Tabelle mit den Feldern in der gewünschten Folge erstellen und per "insert into Neu (f1, f2, ..., fn) select f1, f2, < default > , ..., fn from Alt" kopieren.
Zum Schluss nur noch umbenennen und fertig.
Nunja, Indizes, Views auf "Alt" ... sind natürlich ebenso dann umzubiegen.
Hmm, schade.
Muss ich dann den von dir beschriebenen Weg gehen (möchte einfach bestimmte Felder in einer Reihenfolge haben - nur für mich ;) )
Aber Danke!
Korrektur Vor Release 7.1 gab es keinen Weg eine Spalte an einer bestimmten Stellen in eine Tabelle einzufügen!
Seit Release 7.1 ist das möglich!
Dazu muss man lediglich nach der Spalten-Definition BEFORE und den Spalten-Namen, vor der die neue Spalte eingefügt werden soll angeben:
ALTER TABLE YourLib/YourTable
ADD COLUMN NewColumn CHARACTER (10) NOT NULL DEFAULT
BEFORE ColumnX;
Birgitta
Oder eine passende DDS-Quelle erstellen und CHGPF SRCFILE(...) SRCMBR(...).
Allerdings frage ich mich, wofür das gerade bei SQL-Tabellen nötig ist.
Vielleicht damit der SELECT * FROM TABELLE aufgeräumt aussieht. ;)
Dies gilt aber doch nur für Dialog-SQL's, im Programm ist das doch vollkommen egal.
Aber wenn's Freude macht :).
Yes Yes Yes, Danke!
Ich will das haben, dann sieht die DB für mich besser aus :D
schönes Wochenende!
LG
Korrektur Vor Release 7.1 gab es keinen Weg eine Spalte an einer bestimmten Stellen in eine Tabelle einzufügen!
Seit Release 7.1 ist das möglich!
Dazu muss man lediglich nach der Spalten-Definition BEFORE und den Spalten-Namen, vor der die neue Spalte eingefügt werden soll angeben:
ALTER TABLE YourLib/YourTable
ADD COLUMN NewColumn CHARACTER (10) NOT NULL DEFAULT
BEFORE ColumnX;Birgitta
Möchte das Thema nochmals aufgreifen.
Besteht auch die Möglichkeit bestehende Felder in der Reihung zu verschieben?
Beispiel:
-Name
-Vorname
-Straße
-Ort
-PLZ
nun möchte ich PLZ vor Ort stellen.
Geht das?
Thx