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

🏠 Домашнее задание

📁 Блок: 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

Расчёт площади круга

Создайте функцию для расчёта площади круга, если известен радиус. Используйте формулу S = PI() * r * r.

Где: S — площадь круга, r — радиус, PI() возвращает значение π.

2

Расчёт гипотенузы

Создайте функцию для расчёта гипотенузы прямоугольного треугольника по двум катетам.

Используйте формулу c = SQRT(a * a + b * b), где c — гипотенуза, a и b — катеты.

Проверьте функции отдельными вызовами SELECT circle_area(5); и SELECT hypotenuse(3, 4);.