MySQL存儲過程是一組預定義的SQL語句集合,可以在需要時執(zhí)行。存儲過程可用于數(shù)據(jù)的操作、處理和分析,常常用于復雜的數(shù)據(jù)處理任務,或用于減少網(wǎng)絡通信的開銷。
以下是MySQL存儲過程的一些常用命令:
CREATE PROCEDURE procedure_name(param1 datatype, param2 datatype) BEGIN -- procedure body END; DROP PROCEDURE procedure_name; CALL procedure_name(argument1, argument2);
CREATE PROCEDURE:用于創(chuàng)建存儲過程。
procedure_name:存儲過程的名稱。
param:存儲過程的參數(shù)。
BEGIN和END:存儲過程中的語句必須放在這兩個關鍵字之間。
DROP PROCEDURE:刪除存儲過程。
CALL:調(diào)用存儲過程。
argument:傳遞給存儲過程的參數(shù)。
例子:
CREATE PROCEDURE employee_count(dept_no INT, OUT total_count INT) BEGIN SELECT COUNT(*) INTO total_count FROM employees WHERE dept_no = dept_no; END; CALL employee_count(5, @total_count); SELECT @total_count;
上述存儲過程employee_count用于計算指定部門編號的員工數(shù)量。OUT表示total_count是一個輸出參數(shù),即存儲過程結(jié)束后,變量total_count會被存儲過程設置為員工數(shù)量的值。使用CALL語句調(diào)用存儲過程并傳遞參數(shù),然后用SELECT語句獲取total_count的值。