是否可以在mysql函数中声明并返回多个列?

时间:2015-09-29 15:07:19

标签: mysql function

除了“价格”之外,我还要声明并返回名为“tax”的第二栏,但我不知道如何以正确的方式进行。

这是我想要实现的一个例子,

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 ;

1 个答案:

答案 0 :(得分:1)

存储例程有两种,“过程”和“函数”;函数用于返回可在表达式中使用的值,例如:           SELECT sayHello('Frank'); SELECT countName('Frank');

商店程序更适合该任务。但是你可能想在这个存储的例程中添加更复杂的语句。 无论如何,这将返回利润和税收。

    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);