







|
MySQL.RU - Webboard
Вернуться
Помогите с stored function (Po4emu4ka) 09/02/2010 - 12:21:45
Re: Помогите с stored function (Po4emu4ka) 09/02/2010 - 12:51:03
From: Po4emu4ka - 09/02/2010 - 12:21:45
Subject:Помогите с stored function
-----------------
Выдаёт ошибку, не могу понять в чём дело. :-/
Поставил базу, поддерживающую stored procedures, хочу замутить одну функцию возвращения ip-адреса из пула.
DELIMITER $$
CREATE FUNCTION getIP (poolName varchar(30), msisdn bigint(20) unsigned, nas varchar(15), expireDelay int)
RETURNS varchar(15)
READS SQL DATA
BEGIN
DECLARE ip VARCHAR(15);
SELECT INET_NTOA(framedipaddress) INTO ip FROM radippool WHERE pool_name=poolName AND pool_key=msisdn AND nasipaddress=INET_ATON(nas);
IF ip THEN
UPDATE radippool SET expiry_time = NOW() + INTERVAL expireDelay WHERE pool_name=poolName AND pool_key=msisdn AND nasipaddress=INET_ATON(nas);
ELSE
UPDATE radippool SET expiry_time = NOW() + INTERVAL delayDelay, pool_key=msisdn WHERE pool_name=poolName AND pool_key=0 AND nasipaddress=INET_ATON(nas) LIMIT 1;
SELECT INET_NTOA(framedipaddressip) INTO ip FROM radippool WHERE pool_name=poolName AND pool_key=msisdn AND nasipaddress=INET_ATON(nas);
END IF;
RETURN (ip);
END$$
Ошибку выдаёт такую:
ERROR 1064 (42000): 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 'WHERE pool_name=poolName AND pool_key=msisdn AND nasipaddress=INET_ATON(nas);
' at line 8
В упор не вижу где ошибка...
[Это сообщение - спам!]
Последние сообщения из форума
Уважаемые посетители форума MySQL.RU!
Убедительная просьба, прежде чем задавать свой вопрос в этом форуме, обратите внимание на разделы:
- ответы на наиболее часто задаваемые вопросы - FAQ
- раздел документация
- раздел поиск по сообщениям форума и документации
Также, старайтесь наиболее подробно указывать свою ситуацию (версию операционной системы, версию MySQL,
версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
36754
|
|