我对 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;
谢谢
最佳答案
我不确定如何在表上运行选择查询,然后从该函数返回操作后返回多个值。此外,我不确定您是否可以在返回多行的函数中运行 SELECT 查询。第一个答案是您不能返回数据数组,或者我认为函数中不止一行。因此,我认为最好的方法是创建一个包含返回的新数据集的临时表。
例子
DROP TEMPORARY TABLE IF EXISTS employeeTemp; CREATE TEMPORARY TABLE employeeTemp AS SELECT id,start_date FROM employee;
其次,答案是肯定的,您可以在函数内运行 SELECT 查询以返回多行。
抱歉,我是 MySQL 函数的新手。
关于sql - MySQL 函数将 db 表中的值与以前的值进行比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2450688/