除了“价格”之外,我想声明并返回名为“税”的第二列,但我不知道如何以正确的方式处理它。
这是我正在努力实现的一个例子,
DELIMITER $$
CREATE FUNCTION calcProfit(cost FLOAT, price FLOAT) RETURNS DECIMAL(9,2)
BEGIN
DECLARE profit DECIMAL(9,2);
DECLARE tax DECIMAL(9,2);
SET profit = price-cost;
SET tax = cost*1.2;
RETURN profit,tax;
END$$
DELIMITER ;
最佳答案
存储例程有两种,“过程”和“函数”;函数用于返回可在表达式中使用的值,例如: 选择 sayHello('弗兰克');选择 countName('弗兰克');
存储过程更适合该任务。但是您可能想在此存储例程中添加更复杂的语句.. 无论如何,这将返回一行利润和税收。
DELIMITER //
CREATE PROCEDURE calcProfit(IN cost FLOAT, price FLOAT)
BEGIN
DECLARE profit DECIMAL(9,2);
DECLARE tax DECIMAL(9,2);
SET profit = price - cost;
SET tax = cost * 1.2;
SELECT profit, tax;
END
//
DELIMITER ;
CALL calcProfit(1,2);
关于mysql - 是否可以在 mysql 函数中声明和返回多个列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32847553/