Циклични изрази в PL/SQL
Когато искаме да изпълниме даден процес, един или няколко пъти използваме, тогава използваме повтарящи се изрази.В PL/SQL има три вида повтарящи се израза.
- Прост(елементарен)Loop
- While .. Loop
- For .. Loop
Първият вариянт Loop се използва тогава, когато искаме да изпълним набор от изрази поне един път, преди цикъла да приключи. EXIT условие трябва да бъде указано за този цикъл , иначе рискувате да изпъните изразите безкраен брой пъти. Когато EXIT условието е изпълнено процеса на повторение прекъсва и излиза от цикъла.
Синтаксиса на този вид цикъл е:
LOOP
израз;
EXIT;
{or EXIT WHEN condition;}
END LOOP; Най-важните стъпки които трябва да спазвате, когато използвате такъв вид цикъл са:
- Инициализирайте променливите преди тялото на цикъла.
- Увеличавайте стойноста на променливите вътре в цикъла
- Използвайте EXIT WHEN израза за да можете коректно да приключвате цикъла. Ако в EXIT израза пропуснете WHEN условието, израза в цикъла ще се изпълни само веднъж.
WHILE LOOP се използва, когато набор от изрази искаме да се изпълняват до тогава, докато условието е вярно(истина). Условието се оценява в началото на всяка итерация. Итерацията продължава докато условието стане грешно(лъжа).
Синтаксиса на този вид цикъл е:
WHILE условие LOOP израз; END LOOP;
Най-важните стъпки които трябва да спазвате, когато използвате такъв вид цикъл са:
- Инициализирайте променливите преди тялото на цикъла.
- Увеличавайте стойноста на променливите вътре в цикъла
- EXIT WHEN израза и EXIT израза може да се позва в WHILE LOOP, но не често.
END LOOP се използва, когато искаме да изпълним набор от изрази, определен брой пъти. Итерацията се извършва между началната и крайната зададена стойност. Брояча винаги нараства с 1-ца. Логично, итерацията прекъсва тогава, когато превиши крайната зададена стойност.
Синтаксиса на този вид цикъл е:
FOR counter IN val1..val2 LOOP израз; END LOOP;
Най-важните стъпки които трябва да спазвате, когато използвате такъв вид цикъл са:
- Стойностите на брояча не е нужно да се декларират предварително.
- Стойностите на брояча се увеличава с 1 за това не е нужно да го увеличавате вътре в блока.
- EXIT WHEN израза и EXIT израза може да се позва в FOR LOOP, но не често.