END в PL/SQL — как завершать блоки, условия и конструкции

🟢 END в PL/SQL. Введение

Ключевое слово END в PL/SQL используется для завершения различных блоков кода, таких как:

  • Анонимные блоки

  • Условия IF...THEN

  • Конструкции CASE

  • Циклы LOOP, FOR, WHILE

  • Процедуры и функции

END делает структуру кода явной, облегчает отладку и повышает читаемость, особенно в многоуровневой логике.


🔤 Написание

plsql
BEGIN
-- действия
END;
plsql
IF условие THEN
-- действия
END IF;
sql
CASE
WHEN ... THEN ...
ELSE ...
END

🔄 Где используется END в PL/SQL

  • Завершение PL/SQL-блока BEGIN ... END

  • Завершение логических веток (IF, CASE)

  • Завершение циклов

  • Завершение определений процедур, функций, пакетов


🧪 10 Примеров использования END в PL/SQL

1️⃣ Простой PL/SQL блок

plsql
BEGIN
DBMS_OUTPUT.PUT_LINE('Привет, мир!');
END;

2️⃣ Завершение условия IF

plsql
IF salary > 5000 THEN
DBMS_OUTPUT.PUT_LINE('Высокая зарплата');
END IF;

3️⃣ Оператор CASE в SQL

sql
SELECT employee_id,
CASE department_id
WHEN 10 THEN 'HR'
ELSE 'Другое'
END AS отдел
FROM employees;

4️⃣ Цикл FOR с END LOOP

plsql
FOR i IN 1..5 LOOP
DBMS_OUTPUT.PUT_LINE(i);
END LOOP;

5️⃣ Цикл WHILE с END LOOP

plsql
i := 1;
WHILE i <= 5 LOOP
DBMS_OUTPUT.PUT_LINE(i);
i := i + 1;
END LOOP;

6️⃣ END для процедуры

plsql
CREATE PROCEDURE say_hello IS
BEGIN
DBMS_OUTPUT.PUT_LINE('Привет!');
END say_hello;

7️⃣ END IF с ELSIF

plsql
IF score >= 90 THEN
grade := 'A';
ELSIF score >= 75 THEN
grade := 'B';
ELSE
grade := 'C';
END IF;

8️⃣ END в пакете

plsql
CREATE PACKAGE BODY math_pkg AS
FUNCTION square(n NUMBER) RETURN NUMBER IS
BEGIN
RETURN n * n;
END square;
END math_pkg;

9️⃣ END в CASE внутри функции

plsql
RETURN CASE
WHEN total > 100 THEN 'VIP'
ELSE 'Обычный'
END;

🔟 END для вложенных блоков

plsql
BEGIN
BEGIN
DBMS_OUTPUT.PUT_LINE('Внутренний блок');
END;
DBMS_OUTPUT.PUT_LINE('Внешний блок');
END;

🧩 Заключение

Ключевое слово END завершает любую логическую или функциональную конструкцию в Oracle SQL и PL/SQL. Это обязательный элемент синтаксиса, без которого код не скомпилируется.

💡 Запомни:

  • Используй END; после BEGIN, LOOP, CASE, IF

  • В PL/SQL иногда END дополняется названием процедуры/функции

  • Всегда ставь ; после END, если это завершение кода


🔜 Следующая статья:

ELSIF в Oracle SQL — как проверять несколько условий в PL/SQL


 

Понравилась статья? Поделиться с друзьями:
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest
0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии