1.
Kontrol Aliran dalam PL / SQL
PL / SQL
memungkinkan Anda untuk cabang dan membuat loop dalam cara yang cukup akrab.
Sebuah pernyataan IF terlihat
seperti:
IF <condition> THEN
<statement_list> ELSE <statement_list> END IF;
Bagian ELSE adalah opsional. Jika
Anda ingin cabang multiway, gunakan:
IF <condition_1> THEN ...
ELSIF <condition_2> THEN
...
... ... ... ...
ELSIF <condition_n> THEN ...
ELSE ...
END IF;
Berikut ini adalah contoh,
sedikit dimodifikasi dari yang sebelumnya, di mana sekarang kita
hanya melakukan penyisipan jika
komponen kedua adalah 1. Jika tidak, pertama kita menambahkan 10 untuk setiap
komponen dan kemudian masukkan:
DECLARE
a NUMBER;
b NUMBER;
BEGIN
7
SELECT e,f INTO a,b FROM T1 WHERE
e>1;
IF b=1 THEN
INSERT INTO T1 VALUES(b,a);
ELSE
INSERT INTO T1 VALUES(b+10,a+10);
END IF;
END;
. .
run;
Loop diciptakan dengan sebagai
berikut:
LOOP
<loop_body> /* A list of
statements. * /
END LOOP;
Setidaknya satu laporan dalam
<loop_body> harus pernyataan EXIT dalam bentuk
EXIT WHEN <condition>;
Perulangan istirahat jika
<condition> benar. Sebagai contoh, berikut adalah cara untuk
menyisipkan masing-masing
pasangan (1, 1) sampai (100, 100) ke T1 contoh di atas dua:
DECLARE
i NUMBER := 1; i
BEGIN
8
LOOP
INSERT INTO T1 VALUES(i,i);
i := i+1;
EXIT WHEN i>100;
END LOOP;
END;
. .
run;
Beberapa
pernyataan lainnya loop-membentuk berguna adalah:
· EXIT dengan sendirinya adalah
istirahat loop tanpa syarat. Gunakan di dalam kondisional jika
Anda suka.
· Sebuah loop WHILE dapat
dibentuk dengan:
WHILE <condition> LOOP
<loop_body>
END LOOP;
Sebuah sederhana UNTUK loop dapat
dibentuk dengan:
FOR <var> IN
<start>..<finish> LOOP
<loop_body>
END LOOP; END LOOP;
Di sini, dapat <var>
variabel apapun, itu adalah lokal ke loop-bagi dan tidak perlu diumumkan.
Juga <start> and
<finish> are constants.
No comments:
Post a Comment