我无法弄清楚我的存储函数出了什么问题。
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 ;
它返回错误:
" ERROR 1172(42000):结果由多行组成"
以下是我的查询:
select listbatch("BC-7A1-5");
答案 0 :(得分:1)
您的错误消息告诉您查询返回了多行,并且结果集无法存储在一个简单变量中,因为您定义的变量只能包含一个值!