Hallo,
ich benötige mal wieder einen kleinen Denkanstoß!
Von einer Tabelle möchte ich in eine andere Datensätze importieren. Dabei will ich erst die ersten 10.000 Datensätze importieren, dann die geladenen Datensätze als importiert markieren und dann die nächsten 10.000, die noch nicht markiert sind usw...
Wie könnte ich denn sowas realisieren?
Momentan habe ich eine Loop-Schleife und im darin enthaltenen Dataflow Task rufe ich einen View auf, bei dem steht "SELECT TOP 10000 ... WHERE is_imported = 0". Danach werden alle 10.000 Datensätze in die andere Tabelle geladen. Wie sage ich ihm aber jetzt, dass er bei den 10.000 Datensätze im Speicher das Feld "is_imported" auf 1 setzen soll und das dann in die Ursprungstabelle updaten soll. Wenn ich dafür einen DB-Command einsetzen und dort "UPDATE tabelle SET is_imported = 1 WHERE ID = ?", dann ruft er mir 10.000 Updates pro Schleife auf und das dauert ewig. Gibt es eine bessere Alternative?
Mir ist bis jetzt noch keine Idee gekommen.
Gruß Timo
ich benötige mal wieder einen kleinen Denkanstoß!
Von einer Tabelle möchte ich in eine andere Datensätze importieren. Dabei will ich erst die ersten 10.000 Datensätze importieren, dann die geladenen Datensätze als importiert markieren und dann die nächsten 10.000, die noch nicht markiert sind usw...
Wie könnte ich denn sowas realisieren?
Momentan habe ich eine Loop-Schleife und im darin enthaltenen Dataflow Task rufe ich einen View auf, bei dem steht "SELECT TOP 10000 ... WHERE is_imported = 0". Danach werden alle 10.000 Datensätze in die andere Tabelle geladen. Wie sage ich ihm aber jetzt, dass er bei den 10.000 Datensätze im Speicher das Feld "is_imported" auf 1 setzen soll und das dann in die Ursprungstabelle updaten soll. Wenn ich dafür einen DB-Command einsetzen und dort "UPDATE tabelle SET is_imported = 1 WHERE ID = ?", dann ruft er mir 10.000 Updates pro Schleife auf und das dauert ewig. Gibt es eine bessere Alternative?
Mir ist bis jetzt noch keine Idee gekommen.
Gruß Timo
Comment