MySQL 存儲過程是一種在 MySQL 數(shù)據(jù)庫中可以執(zhí)行多次的一組 SQL 語句,由于存儲過程在執(zhí)行時只需要傳遞參數(shù),這樣大大降低了網(wǎng)絡開銷,還有利于對數(shù)據(jù)庫數(shù)據(jù)進行操作和控制。
MySQL 存儲過程還可以帶有返回值,可以通過 RETURN 語句來定義一組返回值,返回值可以是一個整數(shù)、字符串甚至是一個表格。下面我們就來介紹一下如何定義一個帶返回值的 MySQL 存儲過程。
DELIMITER $ CREATE PROCEDURE myproc(OUT result INT) BEGIN SET result = 10 + 10; END$ DELIMITER ;
上面的存儲過程 myproc 帶有一個 OUT 類型的參數(shù) result,該參數(shù)被定義為一個整數(shù)類型。在存儲過程內(nèi)部,我們通過 SET 語句將 result 賦值為 10 + 10,表示該存儲過程的返回值為 20。
接下來我們通過以下 SQL 語句來執(zhí)行并獲取該存儲過程的返回值。
SET @result = 0; CALL myproc(@result); SELECT @result;
通過定義 @result 變量并將其值初始化為 0,我們調(diào)用 myproc 存儲過程并將 @result 當作其參數(shù)傳入,然后通過 SELECT 語句獲取該存儲過程的返回值。
通過以上方式可以輕松地實現(xiàn)帶返回值的 MySQL 存儲過程。