Введение в циклы в PL / SQL
Процедурный язык / язык структурированных запросов или PL / SQL - это процедурное расширение Oracle Corporation для СУБД Oracle. PL / SQL расширил SQL, добавив конструкции, используемые на процедурных языках, для обеспечения более сложного программирования, чем SQL. Примерами этих структур являются IF… THEN… ELSE, базовые циклы, циклы FOR и циклы 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 позволяет выполнять блок операторов многократно в течение фиксированного числа раз.
Синтаксис
FOR loop_counter IN (REVERSE) lower_limit .. upper_limit LOOP
Statement1;
Statement2;
….Statement3;
END LOOP;
- Первая строка синтаксиса - это оператор цикла, где ключевые слова FOR отмечают начало цикла, за которым следует счетчик цикла, который является неявной целочисленной переменной индекса.
- Это означает, что вам не нужно определять эту переменную в разделе объявления, а также она будет увеличиваться на 1 неявно на каждой итерации вашего цикла, в отличие от других циклов, где мы должны определить счетчик цикла.
- Ключевое слово IN обязательно должно быть в программе FOR Loop.
- Ключевое слово REVERSE не является обязательным, но всегда используется вместе с Keyword IN.
- Если используется ключевое слово REVERSE, цикл будет повторяться в обратном порядке.
- lower_limit и upper_limit - это два целых числа. Эти две переменные определяют количество итераций цикла.
- Две точки между этими двумя переменными служат оператором диапазона.
- Тогда у нас есть тело цикла, которое может быть оператором или группой операторов.
- В конце концов, у нас есть фраза 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.
- Чтобы выполнить операторы внутри тела цикла While, условие должно быть истинным.
Пример: вывести таблицу умножения 17 с использованием цикла while.
- В этом примере у нас есть первая переменная «v_counter», которая будет служить в качестве счетчика, а вторая переменная «v_result», которая будет содержать результат умножения.
- Здесь первый оператор является арифметическим выражением внутри цикла WHILE, который будет выполнять задачу умножения таблицы, и результат будет сохранен в v_result.
- Вторым оператором является оператор print, который будет печатать результаты умножения. Третье утверждение - счетчик обновлений, который обновляет счетчик при каждой итерации.
- Этот цикл while будет работать до тех пор, пока значение счетчика не будет больше или равно 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 | Типы | Преимущества