Next: Anweisungen in PL/SQL-Prozeduren
Up: Aufbau von PL/SQL-Procedures
Previous: Variablen 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.
- Jeder Cursor hat einen, innerhalb einer Procedure eindeutigen
Namen.
- Nach dem Schlüsselwort IS wird dann ganz einfach die
entsprechende SELECT-Anweisung angegeben.
- Um die einzelnen
Spalten des Cursors dann auch eindeutig ansprechen zu können, ist es
ganz wichtig, daß, wann immer es erforderlich ist (Gruppenfunktionen,
Wertausdrücke, etc.), die AS-Klausel eingesetzt wird.
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