|
|
|
Ругается на DECLARE
|
|||
|---|---|---|---|
|
#18+
Добрый день учу процедуры и столкнулся с ошибкой при объявлении DECLARE DELIMITER // DROP FUNCTION IF EXISTS `strSplit`// CREATE PROCEDURE `validLoadAndCategory`(IN `mylist` VARCHAR(255)) body: BEGIN IF mylist = '' THEN LEAVE body; END IF; SET @saTail = mylist; SET @lastId = NULL; WHILE @saTail != '' DO SET @sHead = SUBSTRING_INDEX(@saTail, ',', 1); SET @saTail = SUBSTRING( @saTail, LENGTH(@sHead) + 2 ); /* Курсоры */ DECLARE categoryId INT; DECLARE categorySweat INT; DECLARE categoryUrl VARCHAR(255); /*Обеденяем курсор*/ DECLARE `categoryKursor` CURSOR FOR SELECT `id`,`sweat_category`,`url` FROM `category` WHERE `url`=@sHead AND `sweat_category`=@lastId AND `action`='1'; /*Открываем курсор*/ Open categoryKursor; /*извлекаем данные */ FETCH categoryKursor INTO categoryId,categorySweat,categoryUrl; /*Указываем идентификатор текущей категории*/ SET @lastId = categoryId; END WHILE; /*Выводим данные последнего раздела*/ SELECT * FROM `category` WHERE `id`=categoryId AND `action`='1' LIMIT 1; END// DELIMITER ; Ругается конкретно на 11 строчку создания процедуры DECLARE categoryId INT; Уже битый час не магу понять что Mysql от меня требует. помогите пожалуйста разобраться. Скрин консоли ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2013, 15:39:59 |
|
||
|
Ругается на DECLARE
|
|||
|---|---|---|---|
|
#18+
http://dev.mysql.com/doc/refman/5.5/en/declare.html DECLARE is permitted only inside a BEGIN ... END compound statement and must be at its start, before any other statements . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2013, 15:49:55 |
|
||
|
|

start [/forum/topic.php?fid=47&msg=38351795&tid=1836343]: |
0ms |
get settings: |
6ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
299ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
41ms |
get tp. blocked users: |
1ms |
| others: | 241ms |
| total: | 611ms |

| 0 / 0 |
