While döngüsünün aksine For döngüsünde tekrar sayısı önceden bellidir, bu tekrarların sınırı tamsayılarla belirlenir. Yazım kuralı (syntax) şöyledir:
FOR Sayac IN [REVERSE] alt_sınır..üst_sınır LOOP
ifadeler
END LOOP;
Sınır değerleri içindeki her bir tamsayı için ifadeler yürütülür ve sayaç bir artırılır. Örneğin:
FOR i IN 1..3 LOOP ---> 1,2,3 değerleri sırayla i'ye atanır
ifadeler ---> 3 kere yürütülür
END LOOP;
'REVERSE' kullanılmazsa sınırlar içindeki tamsayılar küçükten büyüğe atanır, 'REVERSE' kullanılırsa tersten yani büyükten küçüğe atanır ancak sınır değerleri gene küçükten büyüğe yazılmalıdır.
FOR i IN REVERSE 1..3 ---> 3,2,1 değerleri sırayla i'ye atanır
ifadeler ---> 3 kere yürütülür
END LOOP;
Bir For döngüsünün içinde, döngü sayacı bir sabitmiş gibi kullanılabilir ancak kendisine bir değer atanamaz:
FOR ctr IN 1..10 LOOP
IF NOT finished THEN
INSERT INTO ... VALUES (ctr, ...); ---> doğru kullanım
factor := ctr * 2; ---> doğru kullanım
ELSE
ctr := 10; ---> hatalı kullanım
END IF;
END LOOP;
25 Temmuz 2007 Çarşamba
Kaydol:
Kayıt Yorumları (Atom)
Hiç yorum yok:
Yorum Gönder