Hallo zusammen,
ich habe hier eine riesige Datenmenge, die komplett geupdatet werden muss.
Leider sind das ziemlich viele, und weil das so lange braucht, müsste ich das entweder mitten in der Nacht machen (wo ich vermutlich andere Jobs mit stören würde) oder es "etappenweise" machen über mehere Tage verteilt.
Nun meine Frage:
Gibt es irgendeine Möglichkeit, sich immer nur - sagen wir mal - 1000 Datensätze updaten zu lassen? Per SQL-Befehl?
Sowas wie:
Update die ersten 1000 DS von meiner Tabelle Set Attribut = Wert;
Und dann am nächsten Tag weitere 1000.
Leider sind die DS nicht alle durchgängig nummeriert (durch Löschungen).
Ich würde auch ein PL/SQL Skript schreiben, habe aber jetzt auch keine Idee, wie ich das am dümmsten mache, ohne dass das noch länger dauert.
Meine Idee war, eine Schleife (oder Cursor) zu basteln, die 1000 Durchläufe hat.
Bei jedem Durchlauf suche ich mir den Primärschlüssel des DS heraus und update genau diesen.
Nur, was mache ich, wenn ich neu am nächsten Tag ansetzen will? Wie finde ich heraus, was der nächste DS ist, den ich updaten muss? Ok, ich kann prüfen, ob das Feld, was ich updaten will noch nicht meinen gewünschten Wert hat.
Aber irgendwie find ich es komisch, dann den erstbesten gefunden Wert als Startwert zu nehmen?
Irgendwie steh ich tierisch auf dem Schlauch und einen SQL Befehl mit der o.g. Möglichkeit hab ich auch nicht gefunden.
Gruß
Ganymed