Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Ошибка при создании процедуры

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
Саныч
Отправлено: 17 Сентября, 2012 - 21:07:44
Post Id



Участник


Покинул форум
Сообщений всего: 1365
Дата рег-ции: Июль 2010  
Откуда: Украина, Запорожье


Помог: 62 раз(а)




Собственно вот запрос
CODE (SQL):
скопировать код в буфер обмена
  1. delimiter $$
  2.  
  3. DROP PROCEDURE IF EXISTS to4 $$
  4.  
  5. CREATE PROCEDURE to4()
  6. BEGIN
  7.     CREATE TEMPORARY TABLE cat_ids
  8.         SELECT DISTINCT category_id FROM by4;        
  9.     DECLARE cats INT DEFAULT 0;
  10.    
  11.     SELECT derxzxcats;
  12. END $$
  13.  
  14. delimiter ;
В итоге получаю ошибку 1064 - ошибка в синтаксисе. Ругается на строку "DECLARE cats INT DEFAULT 0;"
Сосбтвенно в чем ошибка? Не могу понять... Думал, может я уже туплю чего-то, взял тупо скопировал строчку с мануала, подставил, все равно ошибка...

(Отредактировано автором: 17 Сентября, 2012 - 21:09:38)



-----
Все возражают против того, что я гений, хотя никто еще так меня не назвал. - Орсон Уэллс
 
 Top
tuareg
Отправлено: 17 Сентября, 2012 - 23:42:34
Post Id


Участник


Покинул форум
Сообщений всего: 1234
Дата рег-ции: Июнь 2010  


Помог: 69 раз(а)




Я могу ошибиться Улыбка Но попробуй
CODE (SQL):
скопировать код в буфер обмена
  1.  
  2. delimiter $$
  3. DROP PROCEDURE IF EXISTS to4 $$
  4. CREATE PROCEDURE to4()
  5. BEGIN
  6.   DECLARE cats INT DEFAULT 0;  
  7.     CREATE TEMPORARY TABLE cat_ids # Вот тут
  8.         SELECT DISTINCT category_id FROM by4;        
  9.     SELECT derxzxcats;
  10. END $$
  11. delimiter ;
  12.  

Объявление переменных (DECLARE) д.б сразу после begin. Если надо позже, тогда через SET и т.п.
Да проблема была в этом Улыбка

(Отредактировано автором: 17 Сентября, 2012 - 23:43:01)

 
 Top
Саныч
Отправлено: 18 Сентября, 2012 - 00:09:38
Post Id



Участник


Покинул форум
Сообщений всего: 1365
Дата рег-ции: Июль 2010  
Откуда: Украина, Запорожье


Помог: 62 раз(а)




Ну твою ж дивизию! А?!
tuareg, огромнейшее спасибо! Оно.
А я блин и не додумался прописать первой строкой...
Кстати, а почему так? С чем это связано? В мануале вроде об этом ничего не сказано. По крайней мере я ничего такого там не вычитал.


-----
Все возражают против того, что я гений, хотя никто еще так меня не назвал. - Орсон Уэллс
 
 Top
tuareg
Отправлено: 18 Сентября, 2012 - 00:21:26
Post Id


Участник


Покинул форум
Сообщений всего: 1234
Дата рег-ции: Июнь 2010  


Помог: 69 раз(а)




Я не помню, где-то я про это читал(или на форуме видел http://sqlinfo[dot]ru/forum/ ). Вообще IMHO очень мало инфы по тонкостям, до многого приходится доходить методом "тыка". Улыбка
 
 Top
Саныч
Отправлено: 18 Сентября, 2012 - 00:32:37
Post Id



Участник


Покинул форум
Сообщений всего: 1365
Дата рег-ции: Июль 2010  
Откуда: Украина, Запорожье


Помог: 62 раз(а)




Ну епт... Полез только-что опять в документацию и нашел Улыбка
Цитата:
DECLARE is permitted only inside a BEGIN ... END compound statement and must be at its start, before any other statements


Даа, наверно пора отдыхать...


-----
Все возражают против того, что я гений, хотя никто еще так меня не назвал. - Орсон Уэллс
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« SQL и Архитектура БД »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB