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

Откройте только что установленную MySQL Изучение

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

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

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

Откройте только что установленную MySQL

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

Внутри Workbench есть панель навигатора

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

Когда вы исследуете опцию

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

Щелкните правой кнопкой мыши параметр

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

Откроется новое окно, как показано на фото ниже

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

Теперь вы можете редактировать этот запрос по своему желанию

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

Читайте также:  Что такое фабричные функции в JavaScript?

Вы получите экран предварительного просмотра

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

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

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

Когда вы посмотрите на параметр хранимых процедур

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

Когда вы выполните эту процедуру, она покажет вам

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

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

Откройте клиентскую оболочку командной строки

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

>> SELECT * FROM data.record;

Предположим, у нас есть таблица

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

>> use data;

Используйте команду «использовать данные»

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

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

Чтобы создать процедуру без параметра

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

Мы будем использовать предложение CALL

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

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

Читайте также:  10 основных тенденций разработки мобильных приложений

начала запустите запрос DELIMITER

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

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

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

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

Процедура будет завершена ключевым словом

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

Используйте ключевое слово DELIMITER

Заключение

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

Оцените статью
bestprogrammer.ru
Добавить комментарий