|
MySQL.RU - Webboard
Вернуться
Вызов функции из функции (zuk0) 13/05/2009 - 11:53:26
Re: Вызов функции из функции (zuk0) 13/05/2009 - 13:05:23
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 оно и помирает =( Есть идеи, как это побороть?
[Это сообщение - спам!]
Последние сообщения из форума
Уважаемые посетители форума MySQL.RU!
Убедительная просьба, прежде чем задавать свой вопрос в этом форуме, обратите внимание на разделы:
- ответы на наиболее часто задаваемые вопросы - FAQ
- раздел документация
- раздел поиск по сообщениям форума и документации
Также, старайтесь наиболее подробно указывать свою ситуацию (версию операционной системы, версию MySQL,
версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
35576
|
|