1

Тема: Как создать харнимую процедуру?

Люди, поможите кто может. Всю жизнь пользовалась MySQL Query Browser, а у провайдера стоит phpMyAdmin.
Не могу создать в этом "превосходном" софте хранимую процедуру, сделала кучу экспериментов с DELIMITER, ковычками и процей ерундой, не помогает, что не так?

Вот так все выглядит MySQL Query Browser:

DELIMITER $$

DROP PROCEDURE IF EXISTS `add_order_cast` $$
CREATE DEFINER=`root`@`localhost` PROCEDURE `add_order_cast`(order_id$ int, menu_id$ int, reg_id$ int, quant$ int)
BEGIN
declare menu_price$ int;
SELECT price*quant$ into menu_price$ FROM menu_price where menu_id = menu_id$ and reg_id = reg_id$;
insert into order_cast(order_id, menu_id, quant, cost) values (order_id$, menu_id$, quant$, menu_price$);
END $$

DELIMITER ;

2

Re: Как создать харнимую процедуру?

nataly
Надо убрать DELIMITER, а для его определения заполнить соответствующее поле "Разделитель" на странице SQL запроса.

3

Re: Как создать харнимую процедуру?

Спасибо, а где там  поле "Разделитель"? У меня простите только поле для ввода самого запроса и кнопка "пошел" ))))

4

Re: Как создать харнимую процедуру?

nataly
В таком случае вам следует обновить phpMyAdmin. Старые версии не поддерживали работу с процедурами.

5

Re: Как создать харнимую процедуру?

к счастью я не пользуюсь этой "замечательной" программой, а вот у провайдера стоит версия 2.8.1
не подскажете, эта версия поддерживает создание хранимых процедур

6

Re: Как создать харнимую процедуру?

nataly
Создать вроде можно в любой версии, но управление процедурами только с 2.11.0.
Также следует обратиться к хостеру с вопросом о наличии у вашего пользователя прав на создание хранимых процедур. Если прав у пользователя достаточно, то можно поставить отдельную копию phpMyAdmin прямо на сайт.

7

Re: Как создать харнимую процедуру?

ок, спасибо большое, буду общаться с хостерами.