|
|
|
| По книге не могу разобраться как процедуры создавать.
В PhpMyAdmin пишу:
SQL-запрос:
DROP PROCEDURE IF EXISTS `my_pr` ;
CREATE PROCEDURE `my_pr` ( ) SELECT VERSION( ) ;
CALL `my_pr`
Ответ MySQL:
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ';
CREATE PROCEDURE `my_pr`()
SELECT VERSION();
CALL `my_pr`' at line 1
|
Или так:
SQL-запрос:
CREATE PROCEDURE `my_pr` ( )
BEGIN SELECT VERSION( ) ;
END ;
CALL `my_pr` ;
Ответ MySQL:
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ';
CALL `my_pr`' at line 4
|
И ещё много других вариантов перепробовал. Но ничего не выходит.
Версия :
5.0.51a-community
UPDATE:
так тоже не получается:
DROP PROCEDURE IF EXISTS updatetallies;
DELIMITER //
CREATE PROCEDURE updatetallies()
BEGIN
DECLARE done INT DEFAULT 0;
DECLARE pid INT;
END //
DELIMITER ;
CALL updatetallies();
|
| |
|
|
|
|
|
|
|
для: Eugene77
(23.01.2009 в 16:18)
| | а в последнем варианте какую ошибку выдаёт? попробуйте в утилите mysql выполнить последний вариант | |
|
|
|
|
|
|
|
для: ronin80
(23.01.2009 в 19:20)
| | Ошибка
Вероятно, SQL-запрос содержит ошибку. При наличии таковой, ниже будет выведена ошибка MySQL-сервера, облегчающая диагностику проблемы.
ERROR: Неизвестная пунктуация @ 105
STR: //
SQL: DROP PROCEDURE IF EXISTS updatetallies;# MySQL вернула пустой результат (т.е. ноль строк).
DELIMITER //
CREATE PROCEDURE updatet
DELIMITER //
CREATE PROCEDURE updatet
DELIMITER //
CREATE PROCEDURE updatet
DELIMITER //
CREATE PROCEDURE updatet
DELIMITER //
CREATE PROCEDURE updatet
DELIMITER //
CREATE PROCEDURE updatet
DELIMITER //
CREATE PROCEDURE updatet
SQL-запрос:
DELIMITER // CREATE PROCEDURE updatet
Ответ MySQL:
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'DELIMITER //
CREATE PROCEDURE update' at line 1
|
| |
|
|
|
|
|
|
|
для: ronin80
(23.01.2009 в 19:20)
| | >попробуйте в утилите mysql выполнить последний вариант
Я не умею этой утилитой пользоваться. По ней кликаешь - появляется чёрное окошко, компьютер пикает и окошко исчезает. Как в него закинуть запрос - непонятно. | |
|
|
|
|
|
|
|
для: Eugene77
(24.01.2009 в 07:50)
| | по ней не надо кликать | |
|
|
|
|
|
|
|
для: Trianon
(24.01.2009 в 09:56)
| | >по ней не надо кликать
Мне надо обязательно эту утилиту изучать чтобы процедуру создать или PhрMyAdmin всё же достаточен? При знании синтаксиса... разумеется. | |
|
|
|
|
|
|
|
для: Trianon
(24.01.2009 в 09:56)
| | Не могли бы вы мне просто рабочий пример создания процедуры показать,
чтобы через ctrl-past можно было испытать? | |
|
|
|
|
|
|
|
для: Eugene77
(25.01.2009 в 09:36)
| | ваш последний вариант у меня нормально выполнился в утилите mysql | |
|
|
|
|
|
|
|
для: ronin80
(26.01.2009 в 15:13)
| | А какая у вас версия MySQL ? | |
|
|
|
|
|
|
|
для: Eugene77
(26.01.2009 в 15:44)
| | 5.0.67 | |
|
|
|