Similar presentations:
Лекция 7.2
1.
PostgreSQL PL/pgSQL2.
Оператор PL/pgSQL IFВы узнаете как использовать операторы PL/pgSQL if для выполнения команды
на основе определенного условия.
3.
Введение в оператор PL/pgSQL IFОператор if позволяет вам выполнить один или несколько
операторов на основе условия. PL/pgSQL предоставляет вам три
формы операторов if:
• if then
• if then else
• if then elsif
4.
CREATE TABLE film (
id serial PRIMARY KEY,
title VARCHAR(255),
director VARCHAR(255),
release_year INT,
genre VARCHAR(255),
duration_minutes INT
);
INSERT INTO film (title, director, release_year, genre, duration_minutes)
VALUES
('Фильм 1', 'Режиссер 1', 2020, 'Драма', 120),
('Фильм 2', 'Режиссер 2', 2019, 'Комедия', 95),
('Фильм 3', 'Режиссер 3', 2021, 'Боевик', 130),
('Фильм 4', 'Режиссер 4', 2018, 'Фантастика', 150),
('Фильм 5', 'Режиссер 5', 2022, 'Триллер', 110),
('Фильм 6', 'Режиссер 6', 2017, 'Ужасы', 90),
('Фильм 7', 'Режиссер 7', 2023, 'Криминал', 125),
('Фильм 8', 'Режиссер 8', 2016, 'Комедия', 100),
('Фильм 9', 'Режиссер 9', 2020, 'Драма', 115),
('Фильм 10', 'Режиссер 10', 2015, 'Фантастика', 140),
('Фильм 11', 'Режиссер 11', 2022, 'Криминал', 105),
('Фильм 12', 'Режиссер 12', 2019, 'Триллер', 125),
('Фильм 13', 'Режиссер 13', 2021, 'Боевик', 135),
('Фильм 14', 'Режиссер 14', 2017, 'Ужасы', 95),
('Фильм 15', 'Режиссер 15', 2018, 'Драма', 110);
5.
1) Оператор PL/pgSQL if-then6.
found• В этом примере мы выбираем фильм
по определенному идентификатору
фильма (0).
• found — это глобальная переменная,
доступная в PL/pgSQL. Оператор select
into устанавливает переменную found,
если строка назначена, или false, если
строка не возвращена.
• Мы используем оператор if, чтобы
проверить, существует ли фильм с
идентификатором (0), и выдать
уведомление, если его нет.
7.
2) Оператор PL/pgSQL if-then-else• Оператор if...then...else выполняет операторы в ветви if, если
условие оценивается как истинное; в противном случае он
выполняет операторы в ветви else.
8.
В следующем примере оператор if…then…else используетсядля отображения сообщения о том, существует ли фильм с
определенным идентификатором:
9.
Оператор PL/pgSQL if-then-elsif• В отличие от операторов if и if...then...else, которые оценивают
только одно условие, оператор if then elsif позволяет оценивать
несколько условий и выполнять один или несколько операторов,
если условие истинно.
10.
11.
• Используйте оператор if..then для выполнения одного илинескольких операторов, когда условие истинно.
• Используйте оператор if...then...else для выполнения операторов,
когда условие истинно, и выполнения других операторов, когда
условие ложно.
• Используйте оператор if...then...elsif для оценки нескольких
условий и выполнения операторов, когда соответствующее
условие истинно.
12.
Введение в оператор CASEPL/pgSQL
Помимо оператора if, PostgreSQL предоставляет операторы case, которые
позволяют выполнять блок кода на основе условий.
13.
Simple case statement14.
15.
Searched case16.
17.
• Используйте оператор case для выполнения раздела на основеопределенных условий.
• Используйте простой оператор case для сравнения значения со
списком значений и, если совпадение найдено, выполните
раздел.
• Используйте поисковый оператор case для оценки списка условий
и выполните раздел, если условие истинно.