Наш канал в telegram канал codeby

Пишем об информационной безопасности, методах защиты информации, о программировании. Не пропускай новости с кодебай, будь в тренде !  Подробнее ...

Хранимые процедуры 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


Наш канал в telegram канал codeby

Пишем об информационной безопасности, методах защиты информации, о программировании. Не пропускай новости с кодебай, будь в тренде !  Подробнее ...

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

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

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

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

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

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

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

выполнить

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

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

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

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

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

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

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

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

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

вкладка SQL

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

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

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

ошибок нет

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

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

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


Наш канал в telegram канал codeby

Пишем об информационной безопасности, методах защиты информации, о программировании. Не пропускай новости с кодебай, будь в тренде !  Подробнее ...

Похожие темы

Новости софта от 24 сентября 2014 года (MySQL, MiA... MySQL Community Server (проще говоря, это и есть MySQL, бесплатная версия, которой все пользуются) обновился до версий MySQL Community Server 5.6.21...
Выгрузка данных из базы данных Mysql в XML на c#... Как выгрузить данные из базы данных Mysql в XML? В этой статье рассмотрим на простом примере, как выполняется выгрузка данных из базы данных Mysql в ...
Как сделать резервную копию серверной базы данных ... Бэкап баз данных MySQL в Linux Если вы используете сервер MySQL с важной информацией, у вас может возникнуть желание периодически делать резервн...
Установка и настройка сервера Apache, PHP, MySQL, ... Good things should be shared. Здесь инструкция для Windows. Если у вас Linux, то вам сюда "Установка и настройка Apache, PHP, MySQL, p...
Почему в Data Source нет Mysql Database? Почему у меня в Data Source нет пункта Mysql Database? В комментариях многие спрашивают, почему при подключении к базе данных Mysql, с помощью графич...