Wednesday, 27 November 2013

76. Kontrol Aliran dalam PL-SQL

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