一、新建存儲過程 由於mysql默認以;爲分隔符,該分隔符會使mysql自動執行sql語句,故須要將分隔符修改下,下面經過DELIMITER設爲$$,而後編寫SQL,編寫完成再將分隔符改回來。(注:若是有VARCHAR類型的參數,必定要寫長度,不然會報錯) 由於具體的存儲過程根據業務和需求而不一樣,複雜一些的存儲過程甚至須要作異常處理,這裏只舉一個簡單的例子,一個輸入,一個輸出:mysql
DELIMITER $$ CREATE PROCEDURE query_company(IN cname_in VARCHAR(100), OUT result_out INT) BEGIN SELECT count(*) INTO result_out FROM oasys_dept where dept_name like CONCAT('%', cname_in, '%'); END $$ DELIMITER ;
二、調用存儲過程:sql
SET @cname='公司'; SET @ret=0; CALL query_company(@cname, @ret); select @ret;
三、修改存儲過程 MySQL彷佛不支持修改存儲過程,建議刪除後新建。code
四、刪除存儲過程 DROP PROCEDURE query_company;select