我在下面的函数中遇到以下错误:
错误代码:1242。子查询返回的行数超过1行
In
在这里工作不起作用。我该怎么办?
delimiter $
create function pricesTax()returns decimal(8,2)
begin
declare y decimal(8,2);
declare z decimal(8,2);
declare M decimal(8,2);
set y = (select PR(Prices) from Products);
set z = (select Prices from Products);
set M = y*z;
return M;
end $
delimiter ;
答案 0 :(得分:2)
您的一个查询会返回多行,因此您应该limit
结果:
set y = (select PR(Prices) from Products limit 1);
set z = (select Prices from Products limit 1);
或更可能的是,以适当的方式重新考虑你的触发器。