Hallo,
wenn ich eine Schleife mit einem Cursor aufrufe (for rec in cursor loop), wie genau läuft das dann ab ?
führt der erst das Cursorstatement aus, schiebt das Ergebnis in eine Virtuelle Tabelle und läuft dann mittels Pointer von oben nach unten durch oder wird die Abfrage bei jedem Schleifendurchlauf erneut aufgerufen und die DB „merkt“ sich nur was sie schon hatte ?
2te Frage, wenn ich ein PL/SQL Statement losschicke das so endet:
End loop;
commit;
end;
/
und die Session bricht ab, dann läuft das Script doch weiter, commited und fertig, oder ?
Hintergrund, hier läuft seit Tagen ein Script mit einem Cursor der 320000 Zeilen abläuft. Toad sagt mir zwar das es Block-Changes gibt, aber ich bin schon ziemlich skeptisch das das Script das richtige tut.
Grüße
Chris