MySQL - RETURN 语句



MySQL RETURN 语句

MySQL 中的 RETURN 语句用于结束存储函数。每个存储函数都应该至少包含一个 RETURN 语句。这仅在存储过程、触发器或事件中的函数中使用,您可以使用 LEAVE 代替 RETURN。

语法

以下是 MySQL 中 RETURN 语句的语法:

RETURN expression

其中,expression 是要返回的值。

示例 1

以下查询演示了如何在函数中使用 RETURN 语句。

DELIMITER //
CREATE FUNCTION Sample (bonus INT)
   RETURNS INT
   BEGIN
      DECLARE income INT;
      SET income = 0;
      myLabel: LOOP
         SET income = income + bonus;
         IF income < 10000 THEN
            ITERATE myLabel;
         END IF;
         LEAVE myLabel;
      END LOOP myLabel;
   RETURN income;
END; //
DELIMITER ;

您可以如下所示调用上面创建的函数:

SELECT Sample(1000);

输出

上述 MySQL 查询将产生以下输出:

Sample(1000)
10000

示例 2

假设我们使用 CREATE 语句在数据库中创建了一个名为 Emp 的表,如下所示:

CREATE TABLE Emp(
   Name VARCHAR(255), 
   DOB DATE, 
   Location VARCHAR(255)
);

并且我们在 Emp 表中插入了三条记录,如下所示:

INSERT INTO Emp VALUES 
('Amit', DATE('1970-01-08'), 'Hyderabad'),
('Sumith', DATE('1990-11-02'), 'Vishakhapatnam'),
('Sudha', DATE('1980-11-06'), 'Vijayawada');

以下查询创建一个名为 getDob() 的函数,该函数接受员工的姓名作为参数,检索并返回 DOB 列的值。

DELIMITER //
CREATE FUNCTION test.getDob(emp_name VARCHAR(50))
   RETURNS DATE
   DETERMINISTIC
   BEGIN
      declare dateOfBirth DATE;
      select DOB into dateOfBirth from test.emp where Name = emp_name;
      return dateOfBirth;
   END//
DELIMITER ;

如果调用该函数,您可以获取员工的出生日期,如下所示:

SELECT getDob('Amit');

输出

以下是上述查询的输出:

getDob('Amit')
1970-01-08
广告
© . All rights reserved.