P. 1
IleriVeriTabaniSistemleri

IleriVeriTabaniSistemleri

|Views: 470|Likes:
Published by ankarali_

More info:

Published by: ankarali_ on Oct 28, 2009
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as DOC, PDF, TXT or read online from Scribd
See more
See less

06/04/2013

pdf

text

original

Bir döngüden belirli bir koşul gerçekleştiğinde IF deyimi ve EXIT deyimi yardımıyla nasıl
çıkabileceğimiz öğrenmiş durumdayız. Sonsuz döngülerden çıkmak üzere, bu yöntem
yerine çok daha kullanışlı bir başka yöntem bulunmaktadır. Bunun için EXIT WHEN
deyimleri kullanılır. Bu deyim aşağıda görüldüğü biçimde tanımlanıyor:

LOOP


EXIT WHEN koşul;

END LOOP;

Bu tanıma göre, LOOP döngüsü içinde EXIT WHEN ile belirlenen bir koşul gerçekleştiğinde
bu döngü terk edilecektir.

Örnek

194

Önceki örneği yeniden ele alalım. Bu örnek şu şekilde idi: Bir PERSON isimli tabloya altı
adet kayıt eklemek istiyoruz. Tablo iki sütundan oluşmaktadır. Biz sadece birinci
sütununa birden başlayan ve her defasında 1 artan bir sayısal değer yerleştireceğiz. İkinci
sütun ise boş kalacaktır. Amacımıza uygun PL/SQL bloğunu LOOP döngüsü ile yaratıyoruz.
Yeni eklenen personel numaraları ise 500 ile 506 arasında olacaktır. Bu kez WHEN EXIT
deyimlerini kullanarak sonsuz döngüden çıkacağız.

Bu amaca uygun olarak yazılmış PL/SQL bloğunu görmek için linke
tıklayınız

DECLARE

sayi NUMBER := 500;

BEGIN
LOOP

-- Tabloya kayıt ekleme işlemi..
INSERT INTO person(per_no,per_adi)
VALUES (sayi, NULL);
sayi:= sayi + 1;
--Eğer 506 numaraya ulaşılmış ise
--Döngü terkedilecektir..
EXIT WHEN sayi >506;

END LOOP;
END;
/

Bu PL/SQL bloğu çalıştırıldıktan sonra PERSON tablosuna belirlenen miktarda kayıt eklenir.

Blok çalıştırıldığında oluşan çıktıyı görmek için linke tıklayınız

SQL> SELECT * FROM PERSON;

PER_NO PER_ADI
---------- ---------
500
501
502
503
504
505
506

You're Reading a Free Preview

Download
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->