Въведение в Loops в PL / SQL

Процедурен език / структуриран език за заявки или PL / SQL е процедурното разширение на Oracle Corporation за Oracle RDBMS. PL / SQL разширява SQL чрез добавяне на конструкции, използвани в процедурни езици, за да се даде възможност за по-сложно програмиране, отколкото предоставя SQL. Примери за тези структури са АКО… ТОГА… ELSE, основни бримки, FOR бримки и WHILE контури.

Обяснете различни видове контури в PL / SQL

Тази статия ще ви обясни итеративната контролна структура означава цикли на PL / SQL; той ще ви позволи да стартирате един и същ код многократно. PL / SQL предоставя три различни типа цикли:

  • Простият или безкраен цикъл
  • Примката ЗА
  • Цикълът WHILE

Тук всеки цикъл е проектиран с конкретна цел, правила за употреба и указания за създаване на високо качество.

Примери за различни бримки

Помислете за следните три процедури, за да разберете различните контури и способността им за решаване на проблеми по различни начини.

1. Простата верига

Този цикъл е толкова прост, колкото и името му. Тя започва с ключовата дума LOOP и завършва с крайния израз „END LOOP“.

Синтаксис

LOOP
The sequence of statements;
END LOOP;

Тук, съгласно горната ключова дума за синтаксис, „LOOP“ маркира началото на цикъла, а „END LOOP“ заяви края на цикъла. Последователността на частта на оператора може да съдържа всеки оператор за изпълнение.

Пример за Simple цикъл

Нека напишем програма за отпечатване на таблицата за умножение от 18.

Тук, в горния цикъл, нямаме оператора "EXIT"; означава, че изпълнението на изхода ще продължи до безкрай, докато не затворим ръчно тази програма.

Вижте по-долу програма с изход:

Обяснение на горната програма

В раздела за декларация сме декларирали две променливи; променлива v_counter ще служи като брояч, а v_result ще държи резултата от умножението.

В раздела за изпълнение имаме нашия прост цикъл, тук имаме три изявления.

  • Първото изявление ще работи като нашата актуализация на заявлението; това ще актуализира нашия брояч и ще го увеличи до 1.
  • Второто изречение е аритметичен израз, който ще извърши умножението на нашата таблица и ще съхранява резултата в променлива v_result.
  • Третият израз е изходен оператор, който ще отпечата резултата от умножението по форматиран начин.

Използване на извлечение

Съгласно инструкцията за излизане, ако v_counter> = 10, тогава цикъл с изход, което означава, че цикълът ще се изпълни 10 пъти.

изход:

2. Цикълът FOR

FOR цикъл ви позволява да изпълнявате блока от оператори многократно за определен брой пъти.

Синтаксис

FOR loop_counter IN (REVERSE) lower_limit .. upper_limit LOOP
Statement1;
Statement2;
….Statement3;
END LOOP;

  • Първият ред на синтаксиса е цикълното изречение, където ключовите думи FOR маркират началото на цикъла, последвано от брояч на цикъла, който е имплицитна променлива на цяло число.
  • Това означава, че не е необходимо да дефинирате тази променлива в секцията за деклариране, освен това тя ще се увеличава по 1 имплицитно за всяка итерация на вашия цикъл, за разлика от другите цикли, където трябва да дефинираме брояча на цикъла.
  • Ключова дума IN задължително трябва да бъде в програмата FOR Loop.
  • Ключова дума REVERSE не е задължителна, но винаги се използва заедно с ключовата дума IN.
  • Ако се използва ключова дума REVERSE, цикълът ще се повтори в обратен ред.
  • долният_лимит и горният_лимит са две цели числа. Тези две променливи определят редица итерации на цикъла.
  • Две точки между тези две променливи служат като оператор на обхвата.
  • Тогава имаме тялото на цикъла, което може да бъде изявление или група от изявления.
  • В крайна сметка имаме фразата END LOOP, която показва края на цикъла.

Пример №1

Тук, съгласно горната програма, имаме своя цикъл FOR, който ще отпечата стойността на променливата v_counter от 11 до 20.

изход:

Пример №2: Сега нека отпечатаме същото в обратен ред, като използваме FOR цикъл.

Просто добавете ключова дума REVERSE след IN и преди 11, това ще изпълни същото o / p, но в обратен ред.

3. Цикъла WHILE

Докато цикълът изпълнява изявления на програма няколко пъти, това също се използва най-добре за програмата, когато никой от повторенията не е известен.

Синтаксис

WHILE condition LOOP
Statement 1;
Statement 2;

Statement N;
END LOOP;

  • За разлика от друг синтаксис WHILE цикъл, синтаксисът е много лесен за разбиране. Тук, съгласно горния синтаксис, „WHILE“ маркира началото на цикъла заедно с условието и „END LOOP“ посочва края на цикъла.
  • Отчетите 1 до N са изпълними оператори, дефинирани в тялото на цикъла. В допълнение, в крайна сметка споменахме END LOOP, който показва края на цикълът while.
  • За да стартирате изявления вътре в тялото на цикъла „Условия“, условието трябва да бъде вярно.

Пример: Отпечатайте таблицата за умножение от 17 с помощта на цикъл.

  • В този пример имаме първата променлива „v_counter“, която ще служи като брояч, а втората променлива е „v_result“, това ще съдържа резултата от умножението.
  • Тук първото изявление е аритметичен израз вътре в цикъл WHILE, който ще изпълнява задачата за умножение на таблицата и резултат, ще се съхранява в v_result.
  • Второто изявление е операцията за печат, която ще отпечата резултатите от умножение. Третото изявление е брояч на актуализации, който ще актуализира брояча с всяка итерация
  • Това, докато цикълът ще продължи да работи, докато не имаме стойност на брояч повече или равна на 10 и цикълът WHILE ще бъде прекратен след 10 стойности.

изход:

Предимства на Loops в PL / SQL

  • Повторната използваемост на кода е най-доброто предимство на контурите, не е необходимо да пишем код многократно за всяка итерация, като използваме контури, които можем да използваме отново при всяка итерация.
  • Loops също ни помагат да намалим размера на кода или размера на програмата. Всичко, което трябва да направим, е просто да напишем един прост код и да го поставим във всеки цикъл, за да завършим работата без кодиране за различни изходи от една и съща програма.
  • Намаляването на сложността също добави предимството на бримките.

Заключение - Цикли в PL / SQL

SQL е единственият интерфейс към релационна база данни, а PL / SQL е процедурно разширение към SQL. Важно е да разберете как работи SQL и да проектирате правилно бази данни и бизнес логика, за да получите правилния набор от резултати. PL / SQL може да се използва вътре в базата данни и има много мощни функции. Има много подобрения на PL / SQL в Oracle Database 12.1. Използвайте SQL винаги, когато е възможно, но ако вашата заявка стане твърде сложна или са необходими процедурни функции, най-добре е вместо това да използвате PL / SQL.

Препоръчителни статии

Това е ръководство за Loops в PL / SQL. Тук също обсъждаме предимствата и различните видове контури с примери. Можете също така да разгледате следните статии, за да научите повече -

  1. Какво е PL / SQL?
  2. Тестване на мащабируемост
  3. Какво е език за програмиране на R?
  4. Какво е PHP?
  5. Топ 36 ключови думи в SQL с примери
  6. Цикли в PowerShell | Видове | Ползи