Написание собственных процедур и функций в MySQL может значительно упростить вашу работу с базами данных. Поговорим как создаются и вызываются процедуры и функции
Пікірлер: 30
@egosumnihil4 жыл бұрын
Единственный нормальный препод на руютубе!
@HtmllabRu4 жыл бұрын
Рад, что ролики зашли)
@user-vh5mo6uw6q3 жыл бұрын
Обожаю ваше видео!
@dkartashoff4 жыл бұрын
Спасибо за видео. Очень круто и понятно.
@user-mk8ve9xf8n3 жыл бұрын
Спасибо! Много читал, но понял только после просмотра этого видео)
@irinakukhtyk38132 жыл бұрын
Спасибо, как раз то, что нужно!!!!
@alexeicodes3 жыл бұрын
Отлично объяснение, спасибо за отличный ролиик:))
@yell8er3 жыл бұрын
Спасибо, хорошее видео
@HtmllabRu3 жыл бұрын
Спасибо 👍
@valarg57562 жыл бұрын
Спасибо большое
@lastidda19742 жыл бұрын
Спасибо большое🙏
@olegpicik3634 жыл бұрын
А что если нужно сделать функцию, которая выводит список, а не итоговое значение(count)? Существуют какие нибудь циклы чтобы записывать все в нашу исходящую переменную например через запятую или что-то вроде того?
@HtmllabRu4 жыл бұрын
Есть функция GROUP_CONCAT (kzbin.info/www/bejne/a2Wcdmiir9-Vn7c) и есть циклы kzbin.info/www/bejne/l5iZh4Cdg8SfiZI
@olegpicik3634 жыл бұрын
@@HtmllabRu спасибо большое!)
@antizvyagin3 жыл бұрын
В консоли работают боги
@maxzhenzhera3 жыл бұрын
Здравствуйте! Прошу прощения, за такое множество вопросов. Могли бы вы немного подробнее растолковать или направить по поводу таких моментов: 1. Как я понимаю, если я хочу вернуть запись таблицы, то правильный выбор будет использовать процедуру? 2.. Чтобы иметь подобие локальной переменной в процедуре (как можно делать в функции) - нужно воспользоваться OUT переменной? 3. Если я хочу избежать sql-инъекций, но в тоже время пользоваться удобствами функции, мне нужно как-то совмещать их с PREPARE?
@HtmllabRu3 жыл бұрын
Приветствую) 1. Запись из таблицы можно получить обычным SELECT, а можно поместить его в процедуру и вызывать уже её 2. Если нужна локальная переменная используют DECLARE внутри процедуры. OUT нужен для создания входного параметра. 3. Всë верно👍
@user-xz4ko6dk5p3 жыл бұрын
Хотелось бы узнать примеры реального применения, когда это делают, для чего это делают, почему этого не делают
@HtmllabRu3 жыл бұрын
Когда нужно лаконично выполнять большие SQL-запросы и/или использовать (бизнес) логику, код может быть удобно представить в виде процедуры. Трафик между серверным языком программирования и сервером MySQL при этом может уменьшится, что интересно при размещении одного или нескольких серверов на «расстоянии» от серверного языка программирования. Как обосновать подход, когда процедуры не используются, убедительно не скажу. Можно сказать, что будут проблемы при миграции sql-кода на другую СУБД😊 Но вообще, видится более удобной идеей хранить бОльшую часть логики на стороне языка программирования
@user-xz4ko6dk5p3 жыл бұрын
@@HtmllabRu спасибо за развёрнутый ответ
@One-ze2ry3 жыл бұрын
В бенче список процедур можно посмотреть не при проектировании базы, а при работе непосредственно с базой. Мне интересно есть ли какая то команда которая покажет список процедур или их структуру?
@HtmllabRu3 жыл бұрын
В видео на 21:31 показан SELECT, который выбирает все процедуры отдельной базы - это не пригодилось?
@One-ze2ry3 жыл бұрын
@@HtmllabRu, оно! пардон я запрос не полностью составил.
@student68423 жыл бұрын
спасибо. но я не понял куда их сувать ? вызывать в коде приложения?
@HtmllabRu3 жыл бұрын
Можно и в приложении, но в курсе MySQL 8 они выполняются в консоли сервера, после его установки. Первые два видео: kzbin.info/aero/PLOQDek48BpZFeW02dfJM77FY4Fp5ilJ6n
@HtmllabRu3 жыл бұрын
Присмотритесь к быстрой установке с MySQL Installer
@manoolaassist91594 жыл бұрын
а где insert into для процедуры???
@user-os1xg1rh4c4 жыл бұрын
Не совсем ясно, когда использовать функцию, а когда процедуру. И с входными-выходными параметрами смутно...
@HtmllabRu4 жыл бұрын
Функцию следует создавать в случае, когда вам нужен возвращаемый результат - типа того, как работают встроенные функции. Процедуру - когда просто нужно выполнить фрагмент кода. У функций нет деления на входные/выходные параметры. А у процедур нужно указать, какой аргумент рассматривается как входной, а в какой будет помещаться результат расчётов