← К оглавлению занятия

📝 Задания

📁 Блок: SQL / MySQL / Пользовательские функции ⏱️ Время изучения: ~90 мин 🎯 Сложность: Продвинутая

⚡ Кратко: 📝 задания

Пользовательская функция в MySQL создаётся командой CREATE FUNCTION и возвращает одно значение.

Функция объявляет параметры, тип результата через RETURNS, тело между BEGIN и END, а результат отдаёт через RETURN.

Для MySQL в учебных примерах используется DELIMITER //, чтобы точки с запятой внутри тела не завершали весь скрипт раньше времени.

Ключевое свойство DETERMINISTIC означает, что при одинаковых входных данных функция возвращает одинаковый результат.

Минимальный пример: SELECT square_root(25); после создания функции square_root(x DOUBLE) вернёт квадратный корень.

Топ-3 ошибки: забыть DELIMITER, не указать RETURNS, использовать функцию с текущей датой как DETERMINISTIC без проверки документации.

Практические задания

1

Изменение регистра

Создайте функцию to_uppercase, которая принимает строку и возвращает её в верхнем регистре.

2

Проверка чётности

Создайте функцию is_even, которая принимает целое число и возвращает 1, если число чётное, и 0, если нечётное.

Проверка понимания

Выберите один вариант ответа. После клика правильный ответ подсветится зелёным.

Вопрос 1

Как создаётся пользовательская функция в MySQL?

Вопрос 2

Что задаёт RETURNS?

Вопрос 3

Зачем в примерах используется DELIMITER //?

Вопрос 4

Что делает RETURN?

Вопрос 5

Какая функция из источника считает возраст?

Вопрос 6

Что означает DETERMINISTIC?

Вопрос 7

Чем проверяется чётность числа в решении?