MySQL函数用于比较db表中的值与前一个值

时间:2010-03-15 21:39:25

标签: sql mysql stored-procedures sql-function

我对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;

由于

1 个答案:

答案 0 :(得分:1)

我不确定如何在表上运行select查询,然后从该函数返回一旦它们被操作就返回多个值。此外,我不确定您是否可以在返回多行的函数中运行SELECT查询。第一个答案是你不能返回一个数据数组,或者我认为函数不止一行。因此,我认为最好的方法是使用返回的新数据集创建临时表。

示例


DROP TEMPORARY TABLE IF EXISTS employeeTemp;
   CREATE TEMPORARY TABLE employeeTemp AS
   SELECT id,start_date
    FROM employee;

其次答案是肯定的,您可以在函数内运行SELECT查询以返回多行。

对此我很抱歉,我对MySQL的功能还很陌生。