Вступ до циклів у PL / SQL

Процедурна мова / мова структурованого запиту або PL / SQL є процедурним розширенням корпорації Oracle для Oracle RDBMS. PL / SQL розширив SQL за допомогою додавання конструкцій, що використовуються в процедурних мовах для забезпечення складнішого програмування, ніж надає SQL. Прикладами таких структур є АБО… ТАКОЖ… ELSE, основні петлі, для циклів і циклів WHILE.

Поясніть різні типи циклів у PL / SQL

Ця стаття пояснить вам ітераційну структуру засобів управління циклів PL / SQL; це дозволить вам запускати один і той же код кілька разів. PL / SQL надає три різні типи циклів:

  • Проста або нескінченна петля
  • Петля FOR
  • Петля WHILE

Тут кожен цикл розроблений з певною метою, правилами використання та вказівками щодо якісного створення.

Приклади різних петель

Розглянемо наступні три процедури для розуміння різних циклів та їх здатності до вирішення проблем по-різному.

1. Проста петля

Ця петля така ж проста, як і її назва. Він починається з ключового слова LOOP і закінчується випискою "END LOOP".

Синтаксис

LOOP
The sequence of statements;
END LOOP;

Тут, відповідно до вищезазначеного ключового слова синтаксису, "LOOP" позначає початок циклу, а "END LOOP" зазначає кінець циклу. Послідовність частини заяви може містити будь-яку заяву для виконання.

Приклад простого циклу

Давайте напишемо програму для друку таблиці множення 18.

Тут у наведеному циклі у нас немає заяви "EXIT"; означає, що виконання виводу буде тривати нескінченно, поки ми не закриємо цю програму вручну.

Дивіться програму нижче із заявою Exit:

Пояснення вищезгаданої програми

У розділі декларації ми оголосили дві змінні; змінна v_counter слугуватиме лічильником, а v_result утримуватиме результат множення.

У розділі виконання у нас є наш простий цикл, тут у нас є три заяви.

  • Перше твердження буде працювати як наша заява оновлення; це оновить наш лічильник і збільшить його на 1.
  • Другий вислів - це арифметичний вираз, який виконає множення нашої таблиці та збереже результат у змінній v_result.
  • Третє твердження - вихідний оператор, який буде друкувати результат множення у форматованому вигляді.

Використання заяви про вихід

Відповідно до оператора виходу, якщо v_counter> = 10, то цикл з виходом, тобто цикл буде виконуватися 10 разів.

Вихід:

2. Петля ЗА

Цикл 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 condition LOOP
Statement 1;
Statement 2;

Statement N;
END LOOP;

  • На відміну від іншого синтаксису WHILE цикл, синтаксис дуже легко зрозуміти. Тут, відповідно до вищевказаного синтаксису, "WHILE" позначає початок циклу разом із умовою, а "END LOOP" зазначає кінець циклу.
  • Висловлювання від 1 до N - це виконувані оператори, визначені в тілі циклу. Крім того, врешті-решт ми згадали END LOOP, який вказує кінець циклу while.
  • Для запуску операторів всередині циклу циклу Хоча умова має бути справжньою.

Приклад: друкуйте таблицю множення 17, використовуючи цикл while.

  • У цьому прикладі ми маємо першу змінну «v_counter», яка буде виконувати функцію лічильника, а друга змінна - «v_result», і це буде результатом множення.
  • Тут перший вислів - це арифметичний вираз всередині циклу WHILE, який виконує завдання множення таблиці та результату, зберігається у v_result.
  • Другий вислів - оператор друку, який буде друкувати результати множення. Третє твердження - лічильник оновлень, який оновлюватиме лічильник з кожною ітерацією
  • Цей цикл, поки цикл буде продовжувати працювати, поки у нас не буде значення лічильника більше або дорівнює 10, і цикл WHILE не буде припинено після лічильника після 10.

Вихід:

Переваги циклів у PL / SQL

  • Повторне використання коду є найкращою перевагою циклів, нам не потрібно писати код повторно для кожної ітерації, за допомогою циклів ми можемо повторно використовувати код у кожній ітерації.
  • Петлі також допомагають нам зменшити розмір коду або розмір програми. Все, що нам потрібно зробити, - це просто написати один простий код і помістити його всередину будь-якого циклу, щоб виконати роботу без кодування для різних результатів однієї програми.
  • Зменшення складності також додало перевагу петель.

Висновок - Цикли в PL / SQL

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

Рекомендовані статті

Це було керівництвом щодо циклів у PL / SQL. Тут ми також обговорюємо переваги та різні типи петель з прикладами. Ви також можете переглянути наступні статті, щоб дізнатися більше -

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