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
廣告