1. Beispiel - Zuweisung zu einer einzelnen Variablen
* Function: Return Variable is 16.
*/
CREATE OR REPLACE FUNCTION Test RETURN NUMBER IS
tmpVar NUMBER;
-- Deklaration eines expliziten Cursors innerhalb einer
-- PL/SQL-Function...
CURSOR curTmp IS
select 2 * 8 from dual;
BEGIN
tmpVar := 0;
-- Öffnen eines Cursors - entspricht dem Öffnen einer Datei,
-- eines Datenstromes...
-- eines Datenstromes...
-- Jetzt wird auch das entsprechende Select Statement
-- ausgeführt.
-- ausgeführt.
OPEN curTmp;
-- Fetch holt die Daten aus dem Cursor, dem Speicher
-- und übergibt sie einer Variable...
-- und übergibt sie einer Variable...
-- Üblicherweise wird hier eine LOOP oder die
-- FOR-CURSOR-LOOP verwendet, da i.d.R. mehrere
-- Datensätze verarbeitet werden. Bei dieser Schleife wird
-- FOR-CURSOR-LOOP verwendet, da i.d.R. mehrere
-- Datensätze verarbeitet werden. Bei dieser Schleife wird
-- der Cursor implizit geöffnet und geschlossen.
FETCH curTmp into tmpVar;
-- Close schließt den Cursor...
CLOSE curTmp;
-- Übergabe- bzw. Rückgabewert...
RETURN tmpVar;
EXCEPTION
WHEN NO_DATA_FOUND THEN
NULL;
WHEN OTHERS THEN
-- Consider logging the error and then re-raise
RAISE;
END test;
/
select test from dual;
Keine Kommentare:
Kommentar veröffentlichen