Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Синтаксис создания процедуры
 
 автор: Eugene77   (23.01.2009 в 16:18)   письмо автору
 
 

По книге не могу разобраться как процедуры создавать.
В 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();

  Ответить  
 
 автор: ronin80   (23.01.2009 в 19:20)   письмо автору
 
   для: Eugene77   (23.01.2009 в 16:18)
 

а в последнем варианте какую ошибку выдаёт? попробуйте в утилите mysql выполнить последний вариант

  Ответить  
 
 автор: Eugene77   (24.01.2009 в 07:43)   письмо автору
 
   для: 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

  Ответить  
 
 автор: Eugene77   (24.01.2009 в 07:50)   письмо автору
 
   для: ronin80   (23.01.2009 в 19:20)
 

>попробуйте в утилите mysql выполнить последний вариант

Я не умею этой утилитой пользоваться. По ней кликаешь - появляется чёрное окошко, компьютер пикает и окошко исчезает. Как в него закинуть запрос - непонятно.

  Ответить  
 
 автор: Trianon   (24.01.2009 в 09:56)   письмо автору
 
   для: Eugene77   (24.01.2009 в 07:50)
 

по ней не надо кликать

  Ответить  
 
 автор: Eugene77   (24.01.2009 в 19:01)   письмо автору
 
   для: Trianon   (24.01.2009 в 09:56)
 

>по ней не надо кликать
Мне надо обязательно эту утилиту изучать чтобы процедуру создать или PhрMyAdmin всё же достаточен? При знании синтаксиса... разумеется.

  Ответить  
 
 автор: Eugene77   (25.01.2009 в 09:36)   письмо автору
 
   для: Trianon   (24.01.2009 в 09:56)
 

Не могли бы вы мне просто рабочий пример создания процедуры показать,
чтобы через ctrl-past можно было испытать?

  Ответить  
 
 автор: ronin80   (26.01.2009 в 15:13)   письмо автору
 
   для: Eugene77   (25.01.2009 в 09:36)
 

ваш последний вариант у меня нормально выполнился в утилите mysql

  Ответить  
 
 автор: Eugene77   (26.01.2009 в 15:44)   письмо автору
 
   для: ronin80   (26.01.2009 в 15:13)
 

А какая у вас версия MySQL ?

  Ответить  
 
 автор: ronin80   (26.01.2009 в 15:54)   письмо автору
 
   для: Eugene77   (26.01.2009 в 15:44)
 

5.0.67

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования