Robi
04-11-11, 12:09
Hi *all
um aus einem Echt System Daten in in ein Test System zu übernehmen (ca. 30 Dateien die alle einen identischen schlüssel haben + 3-4 Dateien die etwas komplexer zu handhaben sind) wollt ich fogendes machen:
SQL Script
delete from test/file1 where key = wert;
insert into test/file1 select * from echt/file1 where key = wert
das für jede Datei
Aufruf mit runsqlstm .
Nun gibt es das Problem, das in der Test ab und an die Dateien schon verändert sind, dann knallt das Script.
Also hab ich alles umgestellt. In einem CL lösche ich über QMQRY und kopiere via cpyf mit increl
der Wert ist eine Empfangsvariable
Das cpyf liest aber JEDEN Satz zum kopieren, selbst da, wo die PF mit einem passenden key versehen ist.
bei > 8 mio Datensätzen/datei ein Tagesjob.
Da hier niemand die SQL-Source ändern würde, ist ein sql insert mit Feldnamen 'suboptimal'
Kann ich CPYF überreden den Index zu verwenden?
Oder jede andere idee wilkommen
Gruß
Robi
um aus einem Echt System Daten in in ein Test System zu übernehmen (ca. 30 Dateien die alle einen identischen schlüssel haben + 3-4 Dateien die etwas komplexer zu handhaben sind) wollt ich fogendes machen:
SQL Script
delete from test/file1 where key = wert;
insert into test/file1 select * from echt/file1 where key = wert
das für jede Datei
Aufruf mit runsqlstm .
Nun gibt es das Problem, das in der Test ab und an die Dateien schon verändert sind, dann knallt das Script.
Also hab ich alles umgestellt. In einem CL lösche ich über QMQRY und kopiere via cpyf mit increl
der Wert ist eine Empfangsvariable
Das cpyf liest aber JEDEN Satz zum kopieren, selbst da, wo die PF mit einem passenden key versehen ist.
bei > 8 mio Datensätzen/datei ein Tagesjob.
Da hier niemand die SQL-Source ändern würde, ist ein sql insert mit Feldnamen 'suboptimal'
Kann ich CPYF überreden den Index zu verwenden?
Oder jede andere idee wilkommen
Gruß
Robi