next up previous
Next: Anweisungen in PL/SQL-Prozeduren Up: Aufbau von PL/SQL-Procedures Previous: Variablen in PL/SQL-Prozeduren

Cursor in PL/SQL-Prozeduren

PL/SQL ist eine prozedurale Erweiterung von Standard-SQL. Standard-SQL ist jedoch eine mengen- bzw. tabellenorientierte Sprache. Das bedeutet, jedes Ergebnis einer SQL-Abfrage ist wieder eine (meistens mehrzeilige) Tabelle. Damit die prozedurale Sprache PL/SQL mit diesen mehrzeiligen Tabellen umgehen kann, wurde, wie auch in Embedded-SQL, das Konzept des Cursors eingeführt. Für unsere Zwecke bedeutet dies, daß jede einzelne SELECT-Abfrage einem Cursor zugewiesen wird. Der Cursor ''speichert'' sozusagen das Ergebnis dieser SELECT-Abfrage und wir können dann im weiteren Verlauf einer Procedure auf dieses Ergebnis, d.h. auf diesen Cursor mit einer Schleife zugreifen und die Ergebnisse über den Browser ausgeben.
Hier ein Beispiel für einen Cursor:
Cursor c is
  select datum,sum(dauer)as dauer
  from projekt,zeit
  where nr=aktion and nr=pnr
  group by datum;
Ein anderes Beispiel für einen Cursor findet sich übrigens weiter oben in der angegebenen Beispielprocedure.
next up previous
Next: Anweisungen in PL/SQL-Prozeduren Up: Aufbau von PL/SQL-Procedures Previous: Variablen in PL/SQL-Prozeduren

Lehrveranstaltung Living Lectures - Virtual University
Abteilung Angewandte Informatik insbesondere Betriebsinformatik, WU-Wien
10/17/1997