一組預編譯的 SQL 語句集合,以名稱儲存於資料庫中。呼叫時直接傳入參數,減少網路傳輸、提升執行效率、增強安全性(授權呼叫而非直接操作表)。
CREATE PROCEDURE proc_name ([IN|OUT|INOUT] param_name data_type)
BEGIN
statement_list
END
IN:輸入參數(預設)OUT:輸出參數INOUT:輸入輸出雙向命令列下需先修改分隔符:
DELIMITER //
DELIMITER //
CREATE PROCEDURE hello()
BEGIN
SELECT 'Hello World!';
END //
DELIMITER ;
CALL hello();
DROP PROCEDURE proc_name;
注意: 過程內可呼叫其他過程,但不可在過程內刪除過程。
DECLARE 定義區域變數IF / CASE / LOOP / WHILE / REPEAT 控制流程DECLARE CONTINUE HANDLER FOR SQLEXCEPTION 例外處理SHOW CREATE PROCEDURE proc_name儲存過程是專案開發必備利器,善用可大幅提升資料庫層效能與安全性。