1、MySQL
新增存储过程,因为mysql默认以;为分隔符,该分隔符会使mysql自动执行sql语句,故需要将分隔符修改下,下面通过DELIMITER设为$$,然后编写SQL,编写完成再将;设为分隔符。(注:如果有VARCHAR类型的参数,一定要写长度,否则会报错)
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 ;
存储过程调用
SET @cname='公司'; SET @ret=0; CALL query_company(@cname, @ret); select @ret;
修改存储过程。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 ;