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


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

FOR-LOOP

Олдиндан аниқ бўлган чекли сондаги итерацияларни амалга ошириш учун FOR-LOOP конструкцияси ишлатилади. Унинг синтаксиси:


FOR счётчик IN [REVERSE] қуйи_чегара..юқори_чегара LOOP
Жумлалар_кетма_кетлиги
END LOOP;

Мисол 1.
FOR i IN 1..3 LOOP -- 1,2,3 қийматларни i беради


Жумлалар_кетма_кетлиги -- 3 марта бажарилади
END LOOP;

Мисол 2.
FOR i IN 3..3 LOOP -- 3 қийматни i беради


Жумлалар_кетма_кетлиги -- 1 марта бажарилади
END LOOP;

Мисол 3.
FOR i IN REVERSE 1..3 LOOP --3,2,1 қийматларни i беради Жумлалар_кетма_кетлиги -- 3 марта бажарилади END LOOP;


Мисол 3.
FOR ctr IN 1..10 LOOP


IF NOT finished THEN
INSERT INTO ... VALUES (ctr, ...);-- мумкин
factor := ctr * 2; -- мумкин
ELSE
ctr := 10; -- қоидага хилоф
END IF;
END LOOP;

Итерация схемалари


Loop счётчикининг ўзгариши қуйидаги схемалар остида амалга оширилади:


j IN -5..5
k IN REVERSE first..last
step IN 0..TRUNC(high/low) * 2

Мисол 1. (BASIC тилида)


FOR J = 5 TO 15 STEP 5 :REM 5,10,15 қийматлар J берилади
Жумлалар_кетма_кетлиги -- J 5,10,15 қийматларга эга
NEXT J

Мисол 2. (PL/SQL да)


FOR j IN 5..15 LOOP -- 5,6,7,... қийматлар J берилади
IF MOD(j, 5) = 0 THEN -- 5 тадан ўтади
Жумлалар_кетма_кетлиги -- J 5,10,15 қийматларга эга
END IF;
END LOOP;

Мисол 3.
FOR j IN 1..3 LOOP -- 1,2,3 қийматлар J берилади Жумлалар_кетма_кетлиги


END LOOP;

Динамик интервал


PL/SQL цикл ўзгариши соҳасини динамик тарзда аниқлашга имкон беради:


SELECT COUNT(empno) INTO emp_count FROM emp;
FOR i IN 1..emp_count LOOP
...
END LOOP;

Агар цикл ўзгарувчисининг юқори чегараси пастги чегарасидан кичик бўлса, цикл бажарилмайди ва бошқарув навбатдаги жумлага узатилади:


-- limit қиймати 1 бўлсин
FOR i IN 2..limit LOOP
Жумлалар_кетма_кетлиги -- бажарилмайди
END LOOP;
-- бошқарув шу ерга узатилади

Download 0.95 Mb.

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




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