-
geht dieser SQL-Befehl auch einfacher?
Hallo!
Ich möchte mehrere Felder einer Datei mit den Feldern einer anderen Datei ändern.
An sich kein Problem. Ich möchte nur gerne wissen, ob die folgende Syntax auch noch einfacher geht, falls ich in der Zukunft noch mehr Felder habe.
update auftpf1 a set
aufzntureg=(select kdszntureg from kdstpf1 b
where a.auffirma=b.kdsfirma and a.aufkundnr=b.kdskundnr),
aufzntreg=(select kdszntreg from kdstpf1 b where a.auffirma=b.kdsfirma and
a.aufkundnr=b.kdskundnr),
aufzntreg2=(select kdszntreg2 from kdstpf1 b where a.auffirma=b.kdsfirma and
a.aufkundnr=b.kdskundnr),
aufverksch=(select kdsverksch from kdstpf1 b where a.auffirma=b.kdsfirma and
a.aufkundnr=b.kdskundnr)
where aufkundnr in (select kdskundnr
from kdstpf1 c where a.auffirma=c.kdsfirma)
Vielen Dank.
Reiner
-
das kommt darauf an , für 4.4 ist die Syntax :
http://publib.boulder.ibm.com/pubs/h...dt.htm#HDRUPDT
da geht es also
Gruß Rolf
-
Auch wenn Sie obigem Link folgen, werden Sie sehen, dass Ihre Syntax genau die einzige Möglichkeit ist, mehrere Felder aus einer anderen Tabelle upzudaten.
Da je mehrere Subselect durchgeführt werden, wird auch die Performance entsprechend darunter leiden.
Die schnellste Möglichkeit ist hier, ein SQL-Programm zu schreiben, dass den gewünschten Update durchführt.
Als Alternative kann ich nur noch mein Tool SQLCPY unter www.fuerchau.de anbieten, dass genau für solche Fälle entwickelt wurde.
-
wenn man obigem link folgt ...
Code:
create table qtemp/test1
( feld1 dec ( 5, 1)
, feld2 dec ( 5, 1)
, feld3 dec ( 5, 1)
, feld4 dec ( 5, 1)
);
create table qtemp/test2
( feld1 dec ( 5, 1)
, feld2 dec ( 5, 1)
, feld3 dec ( 5, 1)
, feld4 dec ( 5, 1)
);
create table qtemp/test3
( feld1 dec ( 5, 1)
, feld2 dec ( 5, 1)
, feld3 dec ( 5, 1)
, feld4 dec ( 5, 1)
);
insert into qtemp/test1 values( 1, 1, 1, 1);
insert into qtemp/test1 values( 2, 2, 2, 2);
insert into qtemp/test1 values( 3, 3, 3, 3);
insert into qtemp/test1 values( 4, 4, 4, 4);
insert into qtemp/test1 values( 5, 5, 5, 5);
insert into qtemp/test1 values( 6, 6, 6, 6);
insert into qtemp/test2 values( 1, 1, 1, 1);
insert into qtemp/test2 values( 2, 2, 2, 2);
insert into qtemp/test2 values( 3, 3, 3, 3);
insert into qtemp/test2 values( 4, 4, 4, 4);
insert into qtemp/test2 values( 5, 5, 5, 5);
insert into qtemp/test2 values( 6, 6, 6, 6);
insert into qtemp/test3 values( 1, -1, -1, -1);
insert into qtemp/test3 values( 2, -2, -2, -2);
insert into qtemp/test3 values( 3, -3, -3, -3);
insert into qtemp/test3 values( 4, -4, -4, -4);
insert into qtemp/test3 values( 5, -5, -5, -5);
insert into qtemp/test3 values( 6, -6, -6, -6);
update qtemp/test1 x
set (feld2, feld3, feld4) =
(select b.feld2, b.feld3, b.feld4
from qtemp/test2 a
join qtemp/test3 b on
b.feld1 = a.feld1
where a.feld1 = x.feld1
);
wenn man das in ein sorce member stellt und mit
Code:
SQL-Anweisungen ausführen (RUNSQLSTM)
Auswahl eingeben und Eingabetaste drücken.
Quellendatei . . . . . . . . . . SRCFILE > SQL
Bibliothek . . . . . . . . . . > SD_G
Quellenteildatei . . . . . . . . SRCMBR > ##TEST##
COMMIT-Steuerung . . . . . . . . COMMIT *NONE
Benennung . . . . . . . . . . . NAMING > *SYS
Zusätzliche Parameter
Datumsformat . . . . . . . . . . DATFMT > *ISO
ausführt, bekommt man als Protokoll
Code:
MSG ID WTK SATZ TEXT
SQL7950 0 2 Position 1 Tabelle TEST1 in QTEMP erstellt.
SQL7950 0 10 Position 1 Tabelle TEST2 in QTEMP erstellt.
SQL7950 0 18 Position 1 Tabelle TEST3 in QTEMP erstellt.
SQL7956 0 25 Position 1 1 Zeilen in TEST1 in QTEMP eingefügt.
SQL7956 0 26 Position 1 1 Zeilen in TEST1 in QTEMP eingefügt.
SQL7956 0 27 Position 1 1 Zeilen in TEST1 in QTEMP eingefügt.
SQL7956 0 28 Position 1 1 Zeilen in TEST1 in QTEMP eingefügt.
SQL7956 0 29 Position 1 1 Zeilen in TEST1 in QTEMP eingefügt.
SQL7956 0 30 Position 1 1 Zeilen in TEST1 in QTEMP eingefügt.
SQL7956 0 32 Position 1 1 Zeilen in TEST2 in QTEMP eingefügt.
SQL7956 0 33 Position 1 1 Zeilen in TEST2 in QTEMP eingefügt.
SQL7956 0 34 Position 1 1 Zeilen in TEST2 in QTEMP eingefügt.
SQL7956 0 35 Position 1 1 Zeilen in TEST2 in QTEMP eingefügt.
SQL7956 0 36 Position 1 1 Zeilen in TEST2 in QTEMP eingefügt.
SQL7956 0 37 Position 1 1 Zeilen in TEST2 in QTEMP eingefügt.
SQL7956 0 39 Position 1 1 Zeilen in TEST3 in QTEMP eingefügt.
SQL7956 0 40 Position 1 1 Zeilen in TEST3 in QTEMP eingefügt.
SQL7956 0 41 Position 1 1 Zeilen in TEST3 in QTEMP eingefügt.
SQL7956 0 42 Position 1 1 Zeilen in TEST3 in QTEMP eingefügt.
SQL7956 0 43 Position 1 1 Zeilen in TEST3 in QTEMP eingefügt.
SQL7956 0 44 Position 1 1 Zeilen in TEST3 in QTEMP eingefügt.
SQL0088 0 46 Position 1 UPDATE gilt für die gesamte Tabelle.
SQL7957 0 46 Position 1 6 Zeilen in TEST1 in QTEMP aktualisiert.
und ein schneller Blick in die Tabelle bestätigt das :
Code:
select * from qtemp/test1
....+....1....+....2....+....3....+...
FELD1 FELD2 FELD3 FELD4
1,0 1,0- 1,0- 1,0-
2,0 2,0- 2,0- 2,0-
3,0 3,0- 3,0- 3,0-
4,0 4,0- 4,0- 4,0-
5,0 5,0- 5,0- 5,0-
6,0 6,0- 6,0- 6,0-
******** Datenende ********
Similar Threads
-
By deni87991 in forum IBM i Hauptforum
Antworten: 6
Letzter Beitrag: 31-08-06, 12:05
-
By Kaufmann in forum IBM i Hauptforum
Antworten: 11
Letzter Beitrag: 28-06-06, 14:11
-
By mikex01 in forum IBM i Hauptforum
Antworten: 9
Letzter Beitrag: 01-06-06, 11:55
-
By loeweadolf in forum NEWSboard Programmierung
Antworten: 2
Letzter Beitrag: 01-06-06, 09:43
-
By Souljumper in forum NEWSboard Programmierung
Antworten: 3
Letzter Beitrag: 12-10-05, 09:58
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- You may not post attachments
- You may not edit your posts
-
Foren-Regeln
|
Erweiterte Foren Suche
Google Foren Suche
Forum & Artikel Update eMail
AS/400 / IBM i
Server Expert Gruppen
Unternehmens IT
|
Kategorien online Artikel
- Big Data, Analytics, BI, MIS
- Cloud, Social Media, Devices
- DMS, Archivierung, Druck
- ERP + Add-ons, Business Software
- Hochverfügbarkeit
- Human Resources, Personal
- IBM Announcements
- IT-Karikaturen
- Leitartikel
- Load`n`go
- Messen, Veranstaltungen
- NEWSolutions Dossiers
- Programmierung
- Security
- Software Development + Change Mgmt.
- Solutions & Provider
- Speicher – Storage
- Strategische Berichte
- Systemmanagement
- Tools, Hot-Tips
Auf dem Laufenden bleiben
|
Bookmarks