Databases Reference
In-Depth Information
ten zur Nachverfolgung gibt, an denen man erkennt, dass Ver-
bindungen nicht geschlossen wurden. Alternativ kann man dies
auch an Parametern des jeweiligen Betriebssystems eventuell
erkennen.
Befehl
Bedeutung
<Cursorname> %ISOPEN
Wurde der Cursor schon geöffnet?
<Cursorname> %FOUND
Wurde bei der letzten FETCH-Operation eine
neue Zeile gefunden?
<Cursorname> %NOTFOUND
Wurde bei der letzten FETCH-Operation keine
neue Zeilen gefunden?
<Cursorname> %ROWCOUNT
Liefert die Anzahl der bereits gelesenen Zeilen.
Abb. 12-2: Befehle zur Cursor-Steuerung
Zur Cursor-Steuerung stehen die in Abb. 12-2 genannten Befeh-
le zur Verfügung.
Die folgende Prozedur gibt alle zu einer Gattung bekannten In-
formationen aus.
CREATE OR REPLACE PROCEDURE gattungsinfo
(gat Art.Gattung%Type)
IS
CURSOR tiere(g Art.Gattung%Type) IS
SELECT *
FROM Tier
WHERE Tier.Gattung=g;
viech tiere%ROWTYPE;
anzahl integer;
BEGIN
SELECT COUNT(*)
INTO anzahl
FROM Tier
WHERE Tier.Gattung=gat;
IF anzahl=0
THEN
DBMS_OUTPUT.PUT_LINE('nicht vorhanden');
ELSE
DBMS_OUTPUT.PUT_LINE('Es gibt folgende '
||anzahl||' Tiere:');
OPEN tiere(gat);
FETCH tiere INTO VIECH;
WHILE tiere%FOUND
LOOP
DBMS_OUTPUT.PUT_LINE(tiere%ROWCOUNT
||'. '||viech.Tname||' in Gehege '
||viech.Gnr||'.');
FETCH tiere INTO VIECH;
END LOOP;
265
Search WWH ::




Custom Search