21. MySQL 8 CREATE PROCEDURE FUNCTION процедуры и функции

Написание собственных процедур и функций в MySQL может значительно упростить вашу работу с базами данных. Поговорим как создаются и вызываются процедуры и функции

Пікірлер: 30

  • @dkartashoff
    @dkartashoff4 жыл бұрын

    Спасибо за видео. Очень круто и понятно.

  • @user-vh5mo6uw6q
    @user-vh5mo6uw6q3 жыл бұрын

    Обожаю ваше видео!

  • @user-mk8ve9xf8n
    @user-mk8ve9xf8n3 жыл бұрын

    Спасибо! Много читал, но понял только после просмотра этого видео)

  • @alexeicodes
    @alexeicodes3 жыл бұрын

    Отлично объяснение, спасибо за отличный ролиик:))

  • @irinakukhtyk3813
    @irinakukhtyk38132 жыл бұрын

    Спасибо, как раз то, что нужно!!!!

  • @egosumnihil
    @egosumnihil3 жыл бұрын

    Единственный нормальный препод на руютубе!

  • @HtmllabRu

    @HtmllabRu

    3 жыл бұрын

    Рад, что ролики зашли)

  • @lastidda1974
    @lastidda19742 жыл бұрын

    Спасибо большое🙏

  • @valarg5756
    @valarg57562 жыл бұрын

    Спасибо большое

  • @yell8er
    @yell8er3 жыл бұрын

    Спасибо, хорошее видео

  • @HtmllabRu

    @HtmllabRu

    3 жыл бұрын

    Спасибо 👍

  • @maxzhenzhera
    @maxzhenzhera3 жыл бұрын

    Здравствуйте! Прошу прощения, за такое множество вопросов. Могли бы вы немного подробнее растолковать или направить по поводу таких моментов: 1. Как я понимаю, если я хочу вернуть запись таблицы, то правильный выбор будет использовать процедуру? 2.. Чтобы иметь подобие локальной переменной в процедуре (как можно делать в функции) - нужно воспользоваться OUT переменной? 3. Если я хочу избежать sql-инъекций, но в тоже время пользоваться удобствами функции, мне нужно как-то совмещать их с PREPARE?

  • @HtmllabRu

    @HtmllabRu

    3 жыл бұрын

    Приветствую) 1. Запись из таблицы можно получить обычным SELECT, а можно поместить его в процедуру и вызывать уже её 2. Если нужна локальная переменная используют DECLARE внутри процедуры. OUT нужен для создания входного параметра. 3. Всë верно👍

  • @olegpicik363
    @olegpicik3634 жыл бұрын

    А что если нужно сделать функцию, которая выводит список, а не итоговое значение(count)? Существуют какие нибудь циклы чтобы записывать все в нашу исходящую переменную например через запятую или что-то вроде того?

  • @HtmllabRu

    @HtmllabRu

    4 жыл бұрын

    Есть функция GROUP_CONCAT (kzread.info/dash/bejne/Z2htp5elqt3Imbg.html) и есть циклы kzread.info/dash/bejne/k5tquK-gfsLSg5M.html

  • @olegpicik363

    @olegpicik363

    4 жыл бұрын

    @@HtmllabRu спасибо большое!)

  • @One-ze2ry
    @One-ze2ry3 жыл бұрын

    В бенче список процедур можно посмотреть не при проектировании базы, а при работе непосредственно с базой. Мне интересно есть ли какая то команда которая покажет список процедур или их структуру?

  • @HtmllabRu

    @HtmllabRu

    3 жыл бұрын

    В видео на 21:31 показан SELECT, который выбирает все процедуры отдельной базы - это не пригодилось?

  • @One-ze2ry

    @One-ze2ry

    3 жыл бұрын

    @@HtmllabRu, оно! пардон я запрос не полностью составил.

  • @manoolaassist9159
    @manoolaassist91594 жыл бұрын

    а где insert into для процедуры???

  • @user-xz4ko6dk5p
    @user-xz4ko6dk5p3 жыл бұрын

    Хотелось бы узнать примеры реального применения, когда это делают, для чего это делают, почему этого не делают

  • @HtmllabRu

    @HtmllabRu

    3 жыл бұрын

    Когда нужно лаконично выполнять большие SQL-запросы и/или использовать (бизнес) логику, код может быть удобно представить в виде процедуры. Трафик между серверным языком программирования и сервером MySQL при этом может уменьшится, что интересно при размещении одного или нескольких серверов на «расстоянии» от серверного языка программирования. Как обосновать подход, когда процедуры не используются, убедительно не скажу. Можно сказать, что будут проблемы при миграции sql-кода на другую СУБД😊 Но вообще, видится более удобной идеей хранить бОльшую часть логики на стороне языка программирования

  • @user-xz4ko6dk5p

    @user-xz4ko6dk5p

    3 жыл бұрын

    @@HtmllabRu спасибо за развёрнутый ответ

  • @antizvyagin
    @antizvyagin3 жыл бұрын

    В консоли работают боги

  • @student6842
    @student68423 жыл бұрын

    спасибо. но я не понял куда их сувать ? вызывать в коде приложения?

  • @HtmllabRu

    @HtmllabRu

    3 жыл бұрын

    Можно и в приложении, но в курсе MySQL 8 они выполняются в консоли сервера, после его установки. Первые два видео: kzread.info/head/PLOQDek48BpZFeW02dfJM77FY4Fp5ilJ6n

  • @HtmllabRu

    @HtmllabRu

    3 жыл бұрын

    Присмотритесь к быстрой установке с MySQL Installer

  • @user-os1xg1rh4c
    @user-os1xg1rh4c4 жыл бұрын

    Не совсем ясно, когда использовать функцию, а когда процедуру. И с входными-выходными параметрами смутно...

  • @HtmllabRu

    @HtmllabRu

    4 жыл бұрын

    Функцию следует создавать в случае, когда вам нужен возвращаемый результат - типа того, как работают встроенные функции. Процедуру - когда просто нужно выполнить фрагмент кода. У функций нет деления на входные/выходные параметры. А у процедур нужно указать, какой аргумент рассматривается как входной, а в какой будет помещаться результат расчётов

Келесі