我对SQL中的函数很新,我想创建一个函数来比较MySQL表中的值与之前的相比,我不知道如何做到这一点。
例如(iId是输入值)
DECLARE pVal INT(20); DECLARE val INT(20); SELECT price INTO pVal FROM products WHERE Id=iId; SELECT price FROM products; IF price == pVal THEN SET val = price; END IF;
由于
答案 0 :(得分:1)
我不确定如何在表上运行select查询,然后从该函数返回一旦它们被操作就返回多个值。此外,我不确定您是否可以在返回多行的函数中运行SELECT查询。第一个答案是你不能返回一个数据数组,或者我认为函数不止一行。因此,我认为最好的方法是使用返回的新数据集创建临时表。
示例
DROP TEMPORARY TABLE IF EXISTS employeeTemp; CREATE TEMPORARY TABLE employeeTemp AS SELECT id,start_date FROM employee;
其次答案是肯定的,您可以在函数内运行SELECT查询以返回多行。
对此我很抱歉,我对MySQL的功能还很陌生。