PL/SQL - Константы и Literals: Путеводитель для начинающих
Здравствуйте, начинающие программисты! Сегодня мы отправимся в увлекательное путешествие в мир PL/SQL, конкретно focusing на Константы и Literals. Не беспокойтесь, если эти термины звучат как инопланетный язык - к концу этого учебника вы будете использовать эти слова, как опытный профессионал!
Что такое Константы и Literals?
Прежде чем мы углубимся, давайте разберем эти термины:
- Константа - это значение, которое не изменяется в течение выполнения программы.
- Literal - это значение, которое出现在 напрямую в программе.
Представьте константы как ваш любимый номер, который вы всегда используете, а literals как числа, которые вы записываете на листе бумаги. Давайте рассмотрим эти conceptы более подробно!
Объявление Константы
В PL/SQL, объявление константы похоже на то, что вы говорите своей программе: "Эй, запомни это значение, оно важно и не изменится!"
Вот базовый синтаксис:
constant_name CONSTANT datatype := value;
Давайте разберем это:
-
constant_name
: Это имя, которое вы даете своей константе. -
CONSTANT
: Этот ключевой запрос tells PL/SQL, что мы объявляем константу. -
datatype
: Это specifies, какой тип данных будет хранить константа (например, NUMBER, VARCHAR2 и т.д.). -
:=
: Это оператор присваивания в PL/SQL. -
value
: Это фактическое значение, которое вы присваиваете константе.
Пример 1: Объявление Numeric Константы
DECLARE
pi CONSTANT NUMBER(7,6) := 3.141592;
BEGIN
DBMS_OUTPUT.PUT_LINE('Значение pi: ' || pi);
END;
В этом примере мы объявляем константу с именем pi
и значением 3.141592. NUMBER(7,6)
означает, что это число с 7 цифрами в total, 6 из которых после десятичной точки.
Когда вы выполните этот код, он выведет:
Значение pi: 3.141592
Пример 2: Объявление String Константы
DECLARE
greeting CONSTANT VARCHAR2(20) := 'Здравствуйте, мир PL/SQL!';
BEGIN
DBMS_OUTPUT.PUT_LINE(greeting);
END;
Здесь мы объявляем константу с именем greeting
, которая хранит строковое значение. VARCHAR2(20)
означает, что это строка переменной длины, которая может содержать до 20 символов.
Вывод:
Здравствуйте, мир PL/SQL!
PL/SQL Literals
Теперь давайте поговорим о literals. Это raw значения, которые вы используете в своем коде. PL/SQL поддерживает несколько типов literals:
1. Numeric Literals
Это числа. Просто, правда? Они могут быть целыми или浮点数.
DECLARE
age NUMBER := 25; -- Целый literal
height NUMBER := 5.9; -- Float-point literal
BEGIN
DBMS_OUTPUT.PUT_LINE('Возраст: ' || age);
DBMS_OUTPUT.PUT_LINE('Рост: ' || height || ' футов');
END;
Вывод:
Возраст: 25
Рост: 5.9 футов
2. Character Literals
Это отдельные символы, заключенные в одинарные кавычки.
DECLARE
grade CHAR := 'A';
BEGIN
DBMS_OUTPUT.PUT_LINE('Ваш балл: ' || grade);
END;
Вывод:
Ваш балл: A
3. String Literals
Этоsequence символов, заключенных в одинарные кавычки.
DECLARE
name VARCHAR2(20) := 'Иван Иванов';
BEGIN
DBMS_OUTPUT.PUT_LINE('Добро пожаловать, ' || name || '!');
END;
Вывод:
Добро пожаловать, Иван Иванов!
4. Boolean Literals
PL/SQL имеет три boolean literals: TRUE, FALSE и NULL.
DECLARE
is_student BOOLEAN := TRUE;
BEGIN
IF is_student THEN
DBMS_OUTPUT.PUT_LINE('Этот человек студент.');
ELSE
DBMS_OUTPUT.PUT_LINE('Этот человек не студент.');
END IF;
END;
Вывод:
Этот человек студент.
5. Date Literals
Date literals заключены в одинарные кавычки и должны быть в формате, указанном параметром NLS_DATE_FORMAT.
DECLARE
hire_date DATE := '01-JAN-2023';
BEGIN
DBMS_OUTPUT.PUT_LINE('Дата приема на работу: ' || hire_date);
END;
Вывод:
Дата приема на работу: 01-JAN-23
Объединение всего вместе
Теперь, когда мы рассмотрели константы и literals, давайте посмотрим, как мы можем использовать их вместе в более сложном примере:
DECLARE
-- Константы
pi CONSTANT NUMBER(7,6) := 3.141592;
greeting CONSTANT VARCHAR2(20) := 'Здравствуйте, ';
-- Переменные, использующие literals
radius NUMBER := 5;
name VARCHAR2(20) := 'Алиса';
is_circle BOOLEAN := TRUE;
-- Вычисляемое значение
area NUMBER;
BEGIN
IF is_circle THEN
area := pi * radius * radius;
DBMS_OUTPUT.PUT_LINE(greeting || name || '!');
DBMS_OUTPUT.PUT_LINE('Площадь вашего круга: ' || ROUND(area, 2) || ' квадратных единиц.');
ELSE
DBMS_OUTPUT.PUT_LINE('Это не расчет круга.');
END IF;
END;
Вывод:
Здравствуйте, Алиса!
Площадь вашего круга: 78.54 квадратных единиц.
В этом примере мы использовали константы (pi
и greeting
), numeric literals (5
), string literals ('Алиса'
) и boolean literal (TRUE
). Мы также выполнили вычисление с использованием этих значений и показали результат.
Заключение
Поздравления! Вы только что сделали свои первые шаги в мир констант и literals PL/SQL. Помните, константы - это как верные друзья, которые остаются с вами на протяжении всей программы, а literals - это строительные блоки, которые вы используете для создания своих шедевров PL/SQL.
По мере продолжения вашего пути в программировании, вы будете все чаще использовать эти conceptы. Они являются важными инструментами в арсенале любого программиста, помогая сделать ваш код более читаемым, легко поддерживаемым и эффективным.
Продолжайте практиковаться, оставайтесь любопытными, и скоро вы сможете легко писать сложные программы PL/SQL. Счастливого кодирования!
Credits: Image by storyset