Вступ до циклів у 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. Тут ми також обговорюємо переваги та різні типи петель з прикладами. Ви також можете переглянути наступні статті, щоб дізнатися більше -
- Що таке PL / SQL?
- Тестування на масштабованість
- Що таке мова програмування R?
- Що таке PHP?
- 36 ключових слів у SQL із прикладами
- Петлі в PowerShell | Види | Переваги