← К курсу

Занятие 42. Функции

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

⚡ Кратко: суть занятия

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

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

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

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

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

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

📖 О чём это занятие

  • Разберём синтаксис пользовательских функций MySQL.
  • Создадим функции square_root, calculate_age и greet_user из источника.
  • Отдельно закрепим DETERMINISTIC и NON-DETERMINISTIC.
  • Выполним практику: перевод строки в верхний регистр и проверка чётности числа.

📚 Что повторить перед изучением

🎯 Что изучать дальше

Следующее занятие — Занятие 43: Практикум 11.