mysql存儲過程的編寫

一、新建存儲過程 由於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

相關文章
相關標籤/搜索