-
SQL kennt keine Datenstrukturen, du müsstes also einen Feld-für-Feld-Vergleich kodieren.
Um also SQL-Routinen zu stricken benötigst du 3 verschiedene SQL's mit dem Nachteil, dass du die Daten eben 3 Mal bearbeiten musst.
Im RPG benötigst du nur 2 Läufe, da der Update/Delete in einem Lauf möglich ist, der Insert im 2. Lauf.
Der Insert ist in SQL noch am einfachsten:
insert into dateiA A
select * from DateiB B
where not exists (select * from DateiA C where c.key = B.key)
Der Update wird dann schon schwieriger:
update DateiA A
set a.f1=(select b.f1 from dateiB where a.key = b.key and a.f1 <> b.f1)
,a.f2=(select b.f2 from dateiB where a.key = b.key and a.f2 <> b.f2)
,....
where exists (select * from dateiB b where a.key=b.key)
Wobei dieser SQL ab V5R4 auch etwas vereinfacht werden kann:
Update DateiA A
set (F1, F2, ...) = (select f1, f2, ... from DateiB b where a.key=b.key and (a.f1 <> b.f1 or a.f2 <> b.f2 .....))
where exists (select * from dateiB b where a.key=b.key)
Und zum Schluss der Delete:
delete from dateiA A
where not exists (select * from DateiB B where B.key = a.key)
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