该函数返回NULL:SELECT ... INTO存储过程
CREATE FUNCTION `GetCardID`(numId INT) RETURNS int(11)
DETERMINISTIC
BEGIN
DECLARE retcard INT(11);
SELECT id
INTO retcard
FROM cards
WHERE `number` = numId
AND enabled = 1
LIMIT 1;
RETURN retcard;
END
始终返回null,即使查询:
SELECT id FROM cards WHERE `number`=<Insert Value Here> AND ENABLED = 1 LIMIT 1;
返回用于相同值的有效值和函数参数。
例如:
SELECT ID FROM cards WHERE number = 12345 AND ENABLED = 1 LIMIT 1;
- 返回的ID,而
GetCardId(12345);
- 返回null
任何想法,我在这里失踪?我认为自己在SQL方面非常熟练,但在SP上略显绿色。
只是问,你使用'delimiter $$'? – jcho360 2013-02-15 17:55:57
是的,我正在使用备用分隔符语法(我相信如果没有它,create语句会失败)。公平的问题,但。 – 2013-02-15 19:41:59