MySQL MariaDB

Создание хранимых процедур в MySQL

Создание хранимых процедур в MySQL
Хранимые процедуры - это определяемый пользователем список предварительно скомпилированных инструкций SQL, которые сохраняются и используются по запросу в банке данных MySQL для выполнения определенного процесса базы данных. Это означает, что существует вероятность повторного использования скрипта снова и снова. У процедуры действительно есть заголовок, набор параметров и инструкция из SQL, так что хранимая процедура может работать на основе значения (значений) переданного параметра. Хранимые процедуры должны выполняться с использованием фразы CALL. В этом руководстве давайте подробно рассмотрим процесс создания новых хранимых процедур в предложении MySQL CREATE PROCEDURE. Итак, приступим.

Создать хранимую процедуру с помощью Workbench:

Откройте только что установленную MySQL Workbench 8.0 и подключите его к корневой базе данных localhost.

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

Когда вы исследуете опцию «Таблицы», вы найдете список таблиц в виде сетки. Как показано ниже, у нас есть таблица "социальные".

Щелкните правой кнопкой мыши параметр «Сохраненная процедура» и выберите параметр «Создать хранимую процедуру», как показано на рисунке.

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

Теперь вы можете редактировать этот запрос по своему желанию. Мы называем хранимую процедуру «detail» при получении данных из таблицы «social», где ее значение в столбце «Website» эквивалентно значению «Instagram.Это означает, что процедура хранения при выполнении будет отображать только те записи из этой таблицы, где «веб-сайт» - «Instagram.'Нажмите кнопку "Применить".

Вы получите экран предварительного просмотра, где вы можете изменить или изменить свой запрос, если это необходимо. Вы можете увидеть полный синтаксис вновь созданной хранимой процедуры через Workbench. Нажмите кнопку Применить, чтобы выполнить его.

Если в запросе нет ошибок, он будет работать правильно, как показано ниже. Нажмите на кнопку Готово.

Когда вы посмотрите на параметр хранимых процедур и обновите его, он покажет вам недавно созданную процедуру.

Когда вы выполните эту процедуру, она покажет вам, что единственные записи со значением столбца «Веб-сайт» - «Instagram», как показано ниже.

Создайте хранимую процедуру через оболочку командной строки:

Откройте клиентскую оболочку командной строки MySQL 8.0 и введите пароль MySQL под.

Предположим, у нас есть таблица с именем «запись» в схеме базы данных «данные». Давайте проверим его записи с помощью команды SELECT следующим образом:

>> ВЫБРАТЬ * ИЗ данных.записывать;

Используйте команду 'use data', чтобы использовать базу данных, в которую вы хотите добавить хранимую процедуру.

>> использовать данные;

Пример 01: Хранимая процедура без параметров

Чтобы создать процедуру без параметра, вы должны создать ее с помощью команды CREATE PROCEDURE, перед которой стоит ключевое слово DELIMITER. Затем мы создаем процедуру с именем «Фильтр» без параметров. Он выбирает все записи из таблицы 'record', где столбец 'Country' имеет 'ia' в конце его значений. Процесс должен быть завершен ключевым словом END.

Мы будем использовать предложение CALL для выполнения хранимой процедуры в командной строке. После запуска команды CALL мы получаем следующие результаты. Вы можете видеть, что запрос должен получать только те записи, в которых столбец «Страна» имеет «ia» в конце значений.

Пример 02: Хранимая процедура с одним параметром

Пришло время сгенерировать процедуру с одним параметром. Для этого используйте запрос CREATE PROCEDURE с ключевым словом 'DELIMITER.Итак, мы должны создать процедуру 'Rec', которая принимает одно значение в качестве входного аргумента, в котором в этом примере используется пользовательская переменная Var1 в своих параметрах. Начните процедуру с ключевого слова BEGIN. Оператор SELECT используется для выборки всех записей из таблицы 'record', где столбец 'Name' имеет то же значение, что и в 'Var1'. Это сопоставление записей. Завершите хранимую процедуру ключевым словом "END", за которым следует знак "&&".

'

Сначала запустите запрос DELIMITER, чтобы хранимая процедура подготовилась. После этого выполните запрос CALL, после которого укажите имя процедуры и значение ее входного аргумента в фигурных скобках. Вам просто нужно запустить команду, показанную ниже, и вы получите результат. Как мы и предусмотрели в наших параметрах «Зафар», поэтому после сравнения мы получили такой результат.

Пример 03: Хранимая процедура с несколькими параметрами

Давайте посмотрим, как работает процедура, когда ей предоставлено несколько параметров. Не забудьте использовать ключевое слово "DELIMITER" вместе со знаками "&&". Используйте команду CREATE PROCEDURE, чтобы создать процедуру 'New'. Эта процедура будет принимать два аргумента в своих параметрах e.грамм. 'var1' и 'var2'. Начните процедуру с предложения BEGIN. Теперь это что-то новенькое. Предложение SELECT снова выбирает все записи из таблицы 'record'. Первый аргумент, переданный пользователем, будет сопоставлен со значениями столбца "Имя". С другой стороны, второй аргумент, переданный пользователем, будет сопоставлен со значениями столбца "Страна". Если записи совпадают, он будет извлекать все данные из последовательных строк. Процедура будет завершена ключевым словом END.

Используйте ключевое слово DELIMITER, чтобы активировать процедуру. После этого выполните предложение CALL, за которым следует имя хранимой процедуры, которое является 'New' вместе со значениями параметров. Из изображения ниже видно, что запрос будет извлекать только запись таблицы 'record', в которой оба значения, введенные пользователем, совпадают.

Заключение:

В этом руководстве вы узнали о различных способах создания хранимой процедуры в MySQL Workbench и клиентской оболочке командной строки MySQL.грамм., Хранимая процедура с параметрами и без.

Полезные инструменты для геймеров Linux
Если вам нравится играть в игры на Linux, скорее всего, вы использовали приложения и утилиты, такие как Wine, Lutris и OBS Studio, для улучшения игров...
Игры HD Remastered для Linux, ранее не выпускавшиеся для Linux
Многие разработчики и издатели игр придумывают HD-ремастеры старых игр, чтобы продлить жизнь франшизы, порадовать фанатов, требующих совместимости с с...
Как использовать AutoKey для автоматизации игр под Linux
AutoKey - это утилита автоматизации рабочего стола для Linux и X11, запрограммированная на Python 3, GTK и Qt. Используя его функции сценариев и MACRO...