Основы (асослар)


Итератив назорат: LOOP ва EXIT жумлалари


Download 0.95 Mb.
bet11/58
Sana28.12.2022
Hajmi0.95 Mb.
#1011518
1   ...   7   8   9   10   11   12   13   14   ...   58
Bog'liq
PL-SQL Маъруза матни

Итератив назорат: LOOP ва EXIT жумлалари


LOOP жумлалари жумлалар кетма-кетлигини кўп марта бажариш учун ишлатилади. LOOP жумласининг уч хил шакли мавжуд:


LOOP, WHILE-LOOP, ва FOR-LOOP.


LOOP


LOOP жумласи қуйидаги синтаксисга эга:


LOOP
Жумлалар_кетма_кетлиги


END LOOP;

Ушбу циклик жараёндан EXIT орқали чиқиш мумкин




EXIT


EXIT жумласи шартсиз тарзда LOOP жумласини ишини тугатишга мажбурлайди. Масалан


LOOP
...


IF credit_rating < 3 THEN
...
EXIT; -- циклдан дарҳол чиқади
END IF;
END LOOP;
-- бошқарув шу ерга узатилади

қуйидаги мисол PL/SQL блоки ишини тугатиш учун EXIT жумласидан фойдаланиб бўлмаслигини намойиш этади


BEGIN
...


IF credit_rating < 3 THEN
...
EXIT; -- қоидага хилоф
END IF;
END;


EXIT-WHEN


EXIT-WHEN жумласи LOOP жумласини шартли тарзда тугатишга имкон беради.


LOOP
FETCH c1 INTO ...


EXIT WHEN c1%NOTFOUND; -- шарт рост бўлса, loop тугатилади
...
END LOOP;
CLOSE c1;

EXIT-WHEN жумласи содда IF жумласини алмаштиради:


IF count > 100 THEN | EXIT WHEN count > 100;


EXIT; |
END IF; |

Loop меткалари


Loop меткалаш мумкин:


Мисол 1.
<>


LOOP
sequence_of_statements
END LOOP;

Мисол 2.
<>


LOOP
...
END LOOP my_loop;


<>
LOOP
...
LOOP
...
EXIT outer WHEN ... – иккала loop чиқади
END LOOP;
...
END LOOP outer;


WHILE-LOOP


WHILE-LOOP жумласининг синтаксиси:

WHILE condition LOOP


Жумлалар_кетма_кетлиги
END LOOP;

Агар шарт рост бўлса, жумлалар кетма-кетлиги бажарилади.


Мисол 1.
WHILE total <= 25000 LOOP
...
SELECT sal INTO salary FROM emp WHERE ...
total := total + salary;
END LOOP;

Мисол 2.
LOOP


sequence_of_statements
EXIT WHEN boolean_expression;
END LOOP;
Мисол 3.
done := FALSE;
WHILE NOT done LOOP
sequence_of_statements
done := boolean_expression;
END LOOP;

Мисол 4. Эквивалент мисоллар


WHILE TRUE LOOP | LOOP
... | ...
END LOOP; | END LOOP;



Download 0.95 Mb.

Do'stlaringiz bilan baham:
1   ...   7   8   9   10   11   12   13   14   ...   58




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling