Новости
Документация
Download
Webboard
Поиск
FAQ/ЧаВо
Обратная связь




MySQL.RU - Webboard



Вернуться
Вызов функции из функции (zuk0) 13/05/2009 - 11:53:26
      Re: Вызов функции из функции (zuk0) 13/05/2009 - 13:05:23

> Original message text:
> From: zuk0 - 13/05/2009 - 11:53:26
> Subject:Вызов функции из функции
> -----------------
> Пытаюсь создать функцию, выдающую первую свободную ip-подсеть из списка "всего" и списка занятых. Написл две вспомогательные функции - first_address() и last_address(), работают без вопросов, но как только select с ними ставится в другую функцию - получаем "ошибку синтаксиса" при внесении. Тот же select, выполненный напрямую, срабатывает как должно. Это такое расширение понятия "рекурсия" и MySQLя или я чего-то недоглядел? Вот кусок, на который ругается:
> CREATE FUNCTION get_free_net(count INTEGER UNSIGNED)
> RETURNS VARCHAR(18)
> READS SQL DATA
> BEGIN
> DECLARE minaddr INTEGER UNSIGNED;
> DECLARE maxaddr INTEGER UNSIGNED;
> DECLARE curstart INTEGER UNSIGNED;
> DECLARE curend INTEGER UNSIGNED;
> DECLARE done BOOL DEFAULT FALSE;
> DECLARE frecur CURSOR FOR SELECT first_addr(network),last_addr(network) FROM networks WHERE mnemo='.unallocated.' ORDER BY first_addr(network);
> DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET done = TRUE;
>
> OPEN frecur;
> Вот на DECLARE frecur оно и помирает =( Есть идеи, как это побороть?
>


From: zuk0 - 13/05/2009 - 13:05:23
Subject:Вызов функции из функции
-----------------
Сам себе отвечаю - надо не лениться ставить "`"!
Вопрос снят, всё заработало.


[Это сообщение - спам!]

Последние сообщения из форума

Уважаемые посетители форума MySQL.RU!
Убедительная просьба, прежде чем задавать свой вопрос в этом форуме, обратите внимание на разделы:
- ответы на наиболее часто задаваемые вопросы - FAQ
- раздел документация
- раздел поиск по сообщениям форума и документации
Также, старайтесь наиболее подробно указывать свою ситуацию (версию операционной системы, версию MySQL, версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
 Имя:
 E-mail:
 Тема:
 Текст:
Код подтверждения отправки: Code
35576



РЕКЛАМА НА САЙТЕ
  Создание сайтов | |