MySQL存儲過程是一種定義好的程序,它可以被多次執行,從而簡化數據庫應用的開發。如果你想要創建一個存儲過程,下面是一些簡單的步驟來幫助你完成。
DELIMITER // CREATE PROCEDURE procedure_name() BEGIN -- 在此處添加存儲過程的代碼 END// DELIMITER ;
上述代碼中,關鍵字DELIMITER指明了新的限定符為“//”,因為在存儲過程中我們可能會使用“;”號,所以需要一個新的限定符來替代原來的“;”號。接下來,我們在CREATE PROCEDURE語句后面添加上自定義的存儲過程名稱。
我們在存儲過程中添加代碼塊的位置是在BEGIN和END之間,在此處我們可以使用MySQL中支持的所有SQL語句。最后在存儲過程的結尾處,我們需要用一個"http://"號來結束存儲過程代碼,并用分號結尾之前定義的限定符。
-- 調用存儲過程 CALL procedure_name();
在存儲過程創建完成之后,我們可以像下面的代碼一樣調用它。
現在你已經知道如何創建和調用MySQL存儲過程,下面是一個具體的例子說明:
DELIMITER // CREATE PROCEDURE greet(name CHAR(50)) BEGIN SELECT CONCAT('Hello, ',name,'!') END// DELIMITER ;
上述存儲過程將獲取一個名字作為輸入參數,并輸出包含該名字的問候語。例如在調用存儲過程時,我們可以這樣寫:
CALL greet('David');
執行以上代碼,我們將在控制臺看到這個存儲過程打印出的"Hello, David!"消息。