MySQL存儲過程是一組SQL語句的集合,可以被多次調用。在存儲過程中,我們可以定義多個參數,并可以在執行結束后返回多個數據。
下面是一個簡單的MySQL存儲過程,它接收一個參數,然后將兩個值作為輸出返回:
DELIMITER $$ CREATE PROCEDURE my_procedure (IN param INT, OUT result1 INT, OUT result2 INT) BEGIN SET result1 = param * 2; SET result2 = param * 3; END$$ DELIMITER ;
在這個存儲過程中,我們添加了三個參數。第一個參數是輸入參數,我們稱之為param。然后我們定義了兩個輸出參數,它們被命名為result1和result2。
在存儲過程中,我們通過SET語句將計算的結果賦值給輸出參數:
SET result1 = param * 2; SET result2 = param * 3;
然后,我們可以在調用存儲過程時獲取這些輸出值:
CALL my_procedure(5, @result1, @result2); SELECT @result1, @result2;
在這個例子中,我們傳遞了輸入參數5給存儲過程,并將結果存儲在名為result1和result2的變量中。然后,我們使用SELECT語句檢索這些變量的值。
總之,MySQL存儲過程可以輸出多個數據,這使得它成為處理復雜邏輯和大數據集的有用工具。