MySQL中儲存過程是一組SQL語句的集合,可以被保存在MySQL數據庫中。
儲存過程的語法格式如下:
DELIMITER // CREATE PROCEDURE procedure_name() BEGIN -- 這里是SQL語句 END // DELIMITER ;
我們來逐個解釋這個語法格式:
DELIMITER //
: 修改語句結束符,使得儲存過程可以包含多行語句。在執行完儲存過程定義之后需要將語句結束符修改回原來的狀態,下面的DELIMITER ;
,這樣才能執行其他的SQL語句。CREATE PROCEDURE procedure_name()
: 定義一個儲存過程,procedure_name
是儲存過程的名稱,可以根據需要自行命名。括號中可以定義傳入儲存過程的參數,這個有點類似于函數中的參數列表,不過這邊可以有多個參數。BEGIN
和END
: 儲存過程中的語句都會被包含在這個區間中,也就是說這個區間內的語句組成了整個儲存過程。
下面是一個簡單的例子:
DELIMITER // CREATE PROCEDURE get_users() BEGIN SELECT * FROM users; END // DELIMITER ; -- 調用存儲過程 CALL get_users();
以上的例子定義了一個名為get_users
的儲存過程,用于獲取users
表中的所有數據。當需要執行儲存過程時,只要調用CALL get_users();
就可以了。