im Zuge meines Praktikums muss ich einen Report schreiben. Ok soweit so gut der Report funktioniert 1A allerdings nur wenn ich nicht zu viele Daten selektiere.
Das Problem ist das der Select so um die 1Million Datensätze beinhaltet. Das führt egal ob als dia oder im Hintergrund ausgeführt zu einem Laufzeitfehler. Der Speicher ist schlicht und ergreifen zu wenig.
Meine Idee ist eine dynamische Where Bedingung in den Select einzubauen, sodass immer nur 10000 Datensäze gelesen und weggeschrieben werden, anschließend die nächsten 10000 usw.
Ist nur die Frage, ob der Ansatz so richtig ist und wie ich genau ansetzen muss. Ich bin für jede Hilfe dankbar. Gibt es für sowas vielleicht sogar einen Funktionsbaustein?
die Hilfe zum Select ist auf jeden Fall ein guter Tip, allerdings habe ich die schon gelesen und in meinem Fall darf ich den Select nicht einfach auf rows beschränken.
Was du natürlich nicht wissen konntest, da du den Aufbau des Reports nicht kennst. Das Problem ist das mir diese Beschränkung unter unglücklichen Umständen teile des Ergebnisses abschneidet die ich durch einen count auf rows nicht wiederbekomme. Auf Glück will ich mich da nicht verlassen. Es werden Partnernummern ausgelesen, wobei sich die Partnernummer bis zum fünf mal wiederholen können. Und wenn dann die Beschränkung der Rows dazwischen ist habe ich ein kleines Problem. Zwar könnte ich die letzte Partnernummer auslesen und wieder als Startpunkt nehmen. Dann hätte ich aber Dubletten in meinem Ergebnis. Natürlich wäre es auch noch möglich die letzten Zeilen mit dieser Partnernummer aus dem Ergebnis auszuschließen und diese Partnernummer als Startpunkt wählen. Allerdings glaube ich das eine dynamsche where Bedingung dann einfacher zu realisieren ist.
Aber ich lasse mich auch gerne eines besseren belehren.
Du liest den Schlüssel der Tabelle nicht mit? Dann ist klar dass du nicht eindeutig weißt welchen Satz du als Letztes gelesen hast. Ich lese Schlüssel grundsätzlich mit.