Databases Reference
In-Depth Information
Handbücher
(http://www.oracle.com/technology/documentation/index.html)
als Nachschlagewerke empfehlenswert.
12.2
Datenbankanfragen und Cursor in PL/SQL
Im vorherigen Unterkapitel wurde die Programmiersprache
PL/SQL vorgestellt, die aus Sicht moderner Programmierspra-
chen wie Java und C# leicht antiquiert wirkt. Nun soll der Be-
zug zur Datenbank präzisiert werden. PL/SQL bietet dabei spe-
zielle Sprachkonstrukte, die die saubere Bearbeitung von Da-
tenbanken wesentlich erleichtern kann.
Möchte man in einer Prozedur auf genau einen Wert aus den
vorhandenen Tabellen zugreifen, so kann man den erweiterten
SELECT-Befehl der Form
PL/SQL-
Nutzung von
Anfrage-
Ergebnissen
SELECT <Ausgabe>
INTO <Variable>
FROM ... (übliche Struktur einer SQL-Anfrage)
nutzen. Dabei muss die Variable <Variable> vom Typ her zur
<Ausgabe> passen. Falls die Anfrage mehr als ein Ergebnis lie-
fert, wird die Ausführung mit einer Ausnahme abgebrochen.
Um einen genau passenden Datentypen für eine Variable zu
erhalten, kann man explizit fordern, dass der Datentyp einer
Spalte einer Tabelle genutzt wird. Auf diesen Typen kann mit
<Tabellenname>.<Spaltenname> %TYPE
zugegriffen werden.
Mit der folgenden Prozedur wird der Flächenverbrauch einer
Gattung berechnet und ausgegeben.
CREATE OR REPLACE PROCEDURE Verbrauch
(gat Art.Gattung%TYPE)
IS
ergebnis Art.MinFlaeche%Type;
BEGIN
SELECT SUM(Art.MinFlaeche)
INTO ergebnis
FROM Tier, Art
WHERE Tier.Gattung=Art.Gattung
AND Art.Gattung=gat;
DBMS_OUTPUT.PUT_LINE(gat || ' verbraucht '
||ergebnis||'.');
END;
260
Search WWH ::




Custom Search