我无法弄清楚我存储的函数出了什么问题。
select batch as bach from test where mfg_code = 'BC-7A1-5' group by batch;
当我运行上面的脚本时,我能够按预期获得行数。
但是我无法使用下面的类似脚本:-
DELIMITER $$
DROP FUNCTION IF EXISTS `testdata1970_05`.`listbatch` $$
CREATE FUNCTION `listbatch`(mfgnum VARCHAR(24)) RETURNS VARCHAR(10)
BEGIN
DECLARE bach VARCHAR(10);
SELECT batch into bach FROM test WHERE mfg_code = mfgnum group by batch;
RETURN bach;
END $$
DELIMITER ;
它返回错误:
“错误 1172 (42000):结果包含多于一行”
下面是我的查询:
select listbatch("BC-7A1-5");