Oracle'de döngü yapmak için Loop kullanılır. Genel yapısı aşağıdaki gibidir :
LOOP
-- dongu içi
END LOOP;
En basit loop EXIT ifadesi ile kullanılır :
LOOP
-- dongu içi
EXIT;
END LOOP;
Aşağıdaki örnek tek bir sefer çalışan bir döngüdür :
DECLARE
BEGIN
LOOP
-- dongu içi
DBMS_OUTPUT.PUT_LINE('Hello LOOP EXIT');
EXIT;
END LOOP;
END;
/
EXIT koşulda eklenebilir :
LOOP
-- dongu içi
EXIT WHEN Kosul;
END LOOP;
Aşağıda 1'den 10'a kadar sayıları ekrana basan bir örnek görülmektedir :
DECLARE
i NUMBER := 1;
BEGIN
LOOP
EXIT WHEN i>10;
DBMS_OUTPUT.PUT_LINE(i);
i := i+1;
END LOOP;
END;
/
While ile Loop kullanıldığı yapı aşağıdaki gibidir :
WHILE Kosul LOOP
-- dongu içi;
END LOOP;
Aşağıda 1'den 10'a kadar sayıları ekrana basan bir örnek görülmektedir :
DECLARE
i NUMBER := 1;
BEGIN
WHILE i<=10 LOOP
DBMS_OUTPUT.PUT_LINE(i);
i := i+1;
END LOOP;
END;
/
For ile Loop kullanıldığı yapı aşağıdaki gibidir :
FOR counter IN ilkdeger..sonuncudeger LOOP
statements;
END LOOP;
Aşağıda 1'den 500'e kadar sayıları ekrana basan bir örnek görülmektedir :
DECLARE
BEGIN
FOR num IN 1..500 LOOP
DBMS_OUTPUT.PUT_LINE(num);
END LOOP;
END;
/
REVERSE ile ters döngü kurulabilir
FOR counter IN REVERSE ilkdeger..sonuncudeger LOOP
statements;
END LOOP;
500 dan 1 e aşağıdaki gibi basılabilir :
DECLARE
BEGIN
FOR num IN REVERSE 1..500 LOOP
DBMS_OUTPUT.PUT_LINE(num);
END LOOP;
END;
/