Хранимые процедуры MySQL (часть 2)

В этой части статьи допишем начатую в предыдущей статье хранимую процедуру и научимся создавать хранимые mysql функции.

И так нам осталось указать значение для последней переменной PostID. В качестве значения ей будет присвоен результат, который вернёт функция GetPostID, которую сейчас и создадим.

Создание функции

Для начала закрываем текущую форму создания процедуры, нажав на кнопку c надписью Go. Затем в этом же окне снова нажимаем на надпись Add routine, появится знакомая форма, заполним её.

Так же можно указать дополнительные параметры:

Is deterministic — детерминированная функция всегда возвращает один и тот же результат при одинаковых входных параметрах иначе она является не детерминированной. В нашем случае ставим галочку.

Definer и Security type параметры безопасности, в данном примере оставим их без изменений.

SQL data access имеет несколько значений:

NO SQL — не содержит sql.

Contains SQL — содержит встроенные sql функции или операторы, которые не читают, не пишут и не изменяют данные в базе данных. Например, установка значения переменной: SET name = значение;

READS SQL DATA — только чтение данных, без любой модификации данных, указывается для запроса SELECT.

MODIFIES SQL DATA — изменение или внесение данных, в базу данных, указывается для запросов: INSERT, UPDATE, но при этом не должен присутствовать запрос SELECT.

В нашей функции используется запрос SELECT, укажем READS SQL DATA.

Comment комментарий.

После того как все поля заполнены, нажимаем на кнопку с надписью Go.

форма

Возвращаемся на вкладку Routines и отредактируем нашу процедуру, нажав на кнопку edit.

edit

Присвоим переменой PostID в качестве значения результат, который вернёт функция GetPostID.

В результате окончательное тело процедуры будет таким

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

Так же можно установить значения для одной или нескольких переменных в результате выполнения запроса. Например, поля: Автор, почта и id пользователя хранятся в таблице wp_users.

таблица wp_users


Проект codebyOS

Требуются разработчики и тестеры для проекта codebyOS. Требования для участия в проекте: Знание принципов работы ОС на базе Linux; Знание Bash; Крайне желательное знание CPP, Python, Lua; Навыки системного администрирования. Подробнее ...

Зная это можно установить значения для этих переменных следующим образом:

Вызов хранимой процедуры

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

добавленный комментарий

Затем узнаем id добавленного комментария

id комментария

Возвращаемся на вкладку Routines и нажимаем на надпись Execute

выполнить

Появится форма

параметры процедуры

Указываем значения передаваемых параметров: текст ответа и id комментария, после чего нажимаем на кнопку с надписью Go.

установка значений

Если ошибок нет, то открываем страницу и смотрим на результат.

сообщение об отсуствие ошибок

добавленный ответ

Второй способ выполнить процедуру на сервере.

Открываем вкладку SQL

вкладка SQL

С помощью оператора CALL производим вызов нашей процедуры

вызов процедуры

Если ошибок нет, то должны увидеть новый комментарий на странице.

ошибок нет

добавленный новый ответ

Вызов хранимой процедуры на клиенте

Читайте также:


Проект codebyOS

Требуются разработчики и тестеры для проекта codebyOS. Требования для участия в проекте: Знание принципов работы ОС на базе Linux; Знание Bash; Крайне желательное знание CPP, Python, Lua; Навыки системного администрирования. Подробнее ...

Похожие темы

Как установить Apache, MariaDB/MySQL и PHP на Cent... Если вас интересует, как установить сервер на Windows, то вам сюда "Установка Apache, PHP, MySQL, phpMyAdmin на Windows". Apache, Mari...
Новая версия Plecost 1.0.1 — программы для поиска ... Подготовлено на основе справочной информации из Kali.Tools  Про Plecost мы уже писали («Сканируем на уязвимости WordPress: WPScanner ...
Вставка кода Google Analytics, счётчиков посещений... В Интернете растиражировано довольно неудачное решение для внедрения кода Google Analytics в страницы веб-сайта на WordPress. В этом решении предлаг...
Чрезвычайно полезные хаки WordPress’а, котор... Сейчас, когда стал обыденным тот факт, что каждый второй или третий сайт, который вы посещаете, работает на движке WordPress, при знакомстве с очередн...
Новости софта от 28 сентября 2014 года (WebMoney K... Обновилась утилита для работы с одной из популярных платежных систем в интернете — WebMoney. Новая версия имеет номер WebMoney Keeper Classic ...