PDA

View Full Version : Feld per SQL hinzufügen!



Seiten : [1] 2

svente
29-06-11, 07:23
Servus,

gibt es eine Möglichkeit per SQL einer bestehenden Datei ein oder mehrere Felder hinzuzufügen?

Danke und Gruß.

Svente

Fuerchau
29-06-11, 07:30
Per SQL geht das nur auf Tabellen, die auch mit SQL erstellt wurden:

alter table mytable add Fieldxxx ...

svente
29-06-11, 07:51
Die ist leider nicht mit SQL erstellt worden.

B.Hauser
29-06-11, 08:03
Per SQL geht das nur auf Tabellen, die auch mit SQL erstellt wurden

Das stimmt nicht!!!
ALTER TABLE kann auch für DDS beschriebene Tabellen ausgeführt werden.
... auch wenn ich das NICHT empfehlen würde.

Eine Spalte im DDS hinzufügen und dann ein CHGPF ausführen ist doch mindestens genauso einfach!

Beim CHGPF müssen logische Dateien weder gelöscht noch neu erstellt werden, noch müssen irgendwelche Constraints oder Trigger angefasst werden:

Einfach:

CHGPF FILE(MYLIB/MYFILE)
SRCFILE(MYSRCLIB/QDDSSRC)
SRCMBR(MYFILE)
ausführen.

Birgitta

Fuerchau
29-06-11, 08:18
Man beachte aber, dass sich die Dateiebenen-ID ändert und alle Programme die auf die PF oder die LF's native zugreifen neu erstellt werden müssen !

Werden die Tabelle(n) nur per SQL verwendet, ist eine Erstellung der Programme nicht erforderlich.

@Birgitta
Danke für den Hinweis.
Besser wäre es gewesen, dies per SQL abzuweisen.

svente
29-06-11, 08:41
Danke für die Tips. Mit ALTER TABLE hat es geklappt.

Joe
30-06-11, 08:44
Das stimmt nicht!!!
ALTER TABLE kann auch für DDS beschriebene Tabellen ausgeführt werden.
... auch wenn ich das NICHT empfehlen würde.

Birgitta

Hallo Birgitta.

Ich habe schon mehrfach DDS-Tabellen
per SQL erweitert. Wo können da Probleme entstehen?

Gruß Joe

B.Hauser
30-06-11, 08:55
Hallo Birgitta.

Ich habe schon mehrfach DDS-Tabellen
per SQL erweitert. Wo können da Probleme entstehen?

Gruß Joe

Probleme sehe ich darin, dass die entsprechenden Einträge im DDS nicht oder nicht korrekt nachgezogen werden. Ein anderer Kollege macht eine Erweiterung/Änderung und erstellt die Tabelle/physische Datei mit CHGPF oder CRTPF erneut ändert.

M.E. sollte man für ein und die selbe Tabelle/phys.Datei entweder DDS oder SQL verwenden aber nicht mal so und mal so.

Den SQL Code für eine DDS beschriebene Tabelle zu ermitteln ist kein Problem. Am einfachsten ist, man verwendet den iSeries Navigator --> SQL generieren und sichert sich die Quelle entweder als Datei-Member oder in einem Verzeichnis im IFS.

Birgitta

Joe
30-06-11, 09:33
Hallo Birgitta.

Diese "Wildwuchs"-Probleme sehe/kenne ich auch.
Ich hatte verstanden, dass es evtl. Probleme vom OS geben könnte.
Vielen Dank.

Joe

kitvb1
05-07-11, 07:38
...
Werden die Tabelle(n) nur per SQL verwendet, ist eine Erstellung der Programme nicht erforderlich.
...
IIRC, Wenn man "SELECT * from ..." in eine Programm nutzt, muss man auch dann dieses Programm umwandeln. Wenn man "SELECT feld1, f2, ... from ..." nutzt, dann ist umwandeln nicht erforderlich.