Announcement

Collapse
No announcement yet.

Ergebnismenge Cursor immer wieder durchlaufen

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Ergebnismenge Cursor immer wieder durchlaufen

    Hallo,

    ich möchte die Ergebnismenge eines Cursors immer wieder durchlaufen, ohne dabei jedesmal den Cursor neu zu öffnen/schließen (denke das würde gewaltig auf die Performance gehen).
    Gibt es einene Befehl, mit welchem ich den Zeiger wieder auf die erste Zeile der Ergebnismenge setze oder muss ich mit record variablen o.ä. arbeiten (wie setze ich ggf. diese dann wieder zurück?)

    danke
    christoph

  • #2
    Hallo christoph,

    du kannst einen ORACLE-Cursor nur einmal fetchen! Wenn du die Daten für mehrere Schleifendurchläufe benötigst, dann mußt du a) den Cursor mehrfach öffnen, b) die Daten temporär zwischenspeichern - z.B. mittels VARRAY oder INDEX BY Tabellen in PL/SQL oder c) die Programmlogik so ändern, daß ein Schleifendurchlauf ausreicht.

    Alternativ könnte man die Daten auch in einer globalen temporären Tabelle zwischenspeichern und einen Cursor auf diese Tabelle mehrfach öffnen.

    Gruß Falk
    Wenn du denkst du hast alle Bugs gefunden, dann ist das ein Bug in deiner Denksoftware.

    Quellcode ohne ein Mindestmaß an Formatierung sehe ich mir nicht an! Ich leiste keinen Privatsupport per Mail oder PN!

    Comment


    • #3
      Hallo Falk,

      danke, sowas hab ich fast befürchtet...
      hab jetzt die werte des cursors gefetcht und in arrays gespeichert und durchlaufe dann diese immer weider...

      danke
      christoph

      Comment

      Working...
      X