Mac OSX MySQL Обновленная хранимая процедура - PullRequest
0 голосов
/ 10 июля 2009

Добрый день,

Я пытаюсь запустить хранимую процедуру, которая обновляет записи в MySQL 5.1 на Mac OSX 10.4.11. Вот пример процедуры:

DELIMITER $$
CREATE DEFINER=`root`@`localhost` PROCEDURE `TestUpd`()
BEGIN

    UPDATE Addr
    SET eMail2 = 'test';

END
$$

Когда я выполняю эту процедуру, я получаю сообщение об ошибке «Ошибка выполнения команды SQL». Я пробовал разные варианты, но это самый простой пример, который иллюстрирует проблему.

Этого не происходит, когда я пытаюсь сделать то же самое в MySQL 5.1 на Windows XP.

Есть идеи?

Спасибо,

Игаль

1 Ответ

1 голос
/ 11 июля 2009

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

Когда мы добавили оператор SELECT к хранимой процедуре после оператора UPDATE, процедура работала должным образом. Это не оптимальный обходной путь, поскольку вы не сможете изменить свои процедуры во всех случаях, но мы можем сделать это в нашем случае. Тогда у нас сработало следующее:

DELIMITER $$
CREATE DEFINER=`root`@`localhost` PROCEDURE `TestUpd`()
BEGIN

    UPDATE Addr
    SET eMail2 = 'test';

    SELECT 0;

END
$$
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...