FALSE в PL/SQL — как интерпретируются ложные условия

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

В Oracle SQL логические значения (TRUE, FALSE, NULL) играют ключевую роль при построении условий в WHERE, CASE, IF и других конструкциях. Однако в чистом SQL слово FALSE не используется как в языках программирования — это не отдельное булево значение, а результат логического выражения.

Тем не менее, FALSE в PL/SQL активно применяется в:

  • PL/SQL условиях

  • Булевых переменных

  • Контрольных структурах IF, WHILE


🔤 Написание

plsql
IF условие THEN
-- TRUE
ELSE
-- FALSE
END IF;

Или с явным значением:

plsql
v_active BOOLEAN := FALSE;

🔄 Где используется

  • Проверка условий в IF, CASE, LOOP

  • Управление флагами (в PL/SQL)

  • Присваивание переменным типа BOOLEAN

  • Контрольные конструкции в процедурах и функциях

  • Условная логика и ветвление


🧪 10 Примеров использования FALSE

1️⃣ Присваивание FALSE переменной

plsql
DECLARE
is_valid BOOLEAN := FALSE;
BEGIN
-- логика
END;

2️⃣ IF с проверкой на FALSE

plsql
IF is_valid = FALSE THEN
DBMS_OUTPUT.PUT_LINE('Данные невалидны');
END IF;

3️⃣ Проверка NOT TRUE = FALSE

sql
SELECT *
FROM employees
WHERE NOT (salary > 10000); -- эквивалентно FALSE для высоких зарплат

4️⃣ WHILE с булевой переменной

plsql
WHILE processing = FALSE LOOP
-- ожидание
END LOOP;

5️⃣ RETURN FALSE из функции

plsql
FUNCTION is_ready RETURN BOOLEAN IS
BEGIN
RETURN FALSE;
END;

6️⃣ Комбинирование флагов

plsql
IF ready = TRUE AND failed = FALSE THEN
DBMS_OUTPUT.PUT_LINE('Можно продолжать');
END IF;

7️⃣ CASE с логикой TRUE/FALSE

plsql
CASE
WHEN ready = TRUE THEN 'Готово'
WHEN ready = FALSE THEN 'Не готово'
END;

8️⃣ Отрицание FALSE → TRUE

plsql
IF NOT FALSE THEN
DBMS_OUTPUT.PUT_LINE('Выполнено');
END IF;

9️⃣ FALSE в пользовательских флагах

plsql
DECLARE
is_logged_in BOOLEAN := FALSE;
BEGIN
-- проверка сессии
END;

🔟 Использование с BULK COLLECT логикой

plsql
IF rows.COUNT = 0 THEN
success := FALSE;
END IF;

🧩 Заключение

Хотя FALSE — не отдельное значение в SQL-запросах, он активно используется в PL/SQL, логических переменных и контроле потока. Это универсальный способ выражения ложных условий и ветвлений, особенно в процедурной логике.

💡 Запомни:

  • FALSE работает только в PL/SQL

  • В SQL выражения дают TRUE, FALSE или NULL

  • Удобен для флагов, проверок и управления потоком


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

EXTENT в Oracle SQL — что это такое и как управлять размером данных


 

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