Хранимые процедуры в MySQL

Эта статья, больше даже не как статья, а как записка, чтобы не забыть. Ну а если она будет кому то полезной, то я только буду рад.

1
2
# Удаление процедуры
DROP PROCEDURE IF EXISTS menu;

где menu это название хранимой процедуры

1
2
3
4
5
6
7
8
9
10
11
# Создание процедуры
DELIMITER //
CREATE DEFINER=`user`@`localhost` PROCEDURE `menu` (
    IN `salary_param` VARCHAR(50),
    OUT `NAME` VARCHAR(50),
    OUT `ART` VARCHAR(50)
)
BEGIN
   SELECT m.`nazv` AS `NAME`,m.`artikul_r` AS `ART` FROM `menu` m WHERE m.`artikul_r` = `salary_param`;
END //
DELIMITER;

где IN это входящие данные, а OUT исходящие. Пример крайне простой, получает артикул и находит по нему название категории

1
2
# Проверка существования процедуры
SHOW CREATE PROCEDURE `menu`;
1
2
# Вызов процедуры
CALL `menu`('SE9029',@cat_name,@cat_art);

здесь мы обращаемся к процедуре и передаем ей, артикул категории SE9029, а в ответ получаем

1
2
3
NAME              |ATR   |
------------------+------+
Название категории|SE9029|

Micro
Author: Micro

///

Поделиться в социальных сетях
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии