Hibakezelés


Deklarálás: hibanév EXCEPTION (elïre definiált típus)

programban: RAISE hibanév (automatikusan hívja a megfelelï eljárást:

a blokk végén lévï kivételkezelï utasításokkal)

Elïre definiált hibák: NO_DATA_FOUND, ZERO_DIVIDE...

A hibakezelï rész a lefutása után a vezérlést átadja a következï utasításnak.


Példa:

EXCEPTION WHEN hibanév OR hibanév2... THEN utasítások

EXCEPTIONS WHEN OTHERS THEN mindenhiba


Kurzor kezelése


Deklarálás: CURSOR knév IS SELECT oszlop1;...

nyitás: OPEN knév, illetve zárás: CLOSE knév

olvas és lép: FETCH knév INTO változólista


%NOTFOUND, %FOUND, %ROWCOUNT %ISOPEN

(fetch-elt sorok, például: EXIT WHEN knév %NOTFOUND)


Példa:

FOR eredmény IN knév LOOP utasítások ENDLOOP

(-> Létrehozza az "eredmény" változót, valamilyen rekord-típussal)


Megjegyzés:

Valamilyen DML utasítás után: Sql %attribútum

DELETE után: %ROWCOUNT (hány sort törlünk)


Utasítások

Elágazás

IF feltétel THEN utasítás [ELSEIF felt2 ut2...] [ELSE utasítás] ENDIF

IF (x=2 OR y=3) THEN...


Ciklus

LOOP utasítás ENDLOOP (alap)

FOR i IN kezdet..vég LOOP utasítás ENDLOOP (számlálós)

WHILE feltétel LOOP tasítás ENDLOOP (elöltesztelïs)


egyéb

EXIT (kilépés bármilyen ciklusból)

GOTO címke (ugrás)

x:=1 (értékadás)


* * * (2001. december 14.) * * *