一、什么是mysql存储过程
存储过程(Stored Procedure)是一种在数据库中存储复杂程序,以便外部程序调用的一种数据库对象。存储过程是为了完成特定功能的SQL语句集,经编译创建并保存在数据库中,用户可通过指定存储过程的名字并给定参数(需要时)来调用执行。MySQL 5.0 版本开始支持存储过程。
直白点就是,本该在service层完成的逻辑操作,直接放到数据库内完成了。
好处:减少了与数据进行连接完成操作的过程,提高了执行效率
缺点:增加了数据库的负担,且移植性较差
二、存储过程的语法
以添加部门的代码为例
DELIMITER $$USE `vhr`$$DROP PROCEDURE IF EXISTS `addDep`$$CREATE DEFINER=`root`@`localhost` PROCEDURE `addDep`(IN depName VARCHAR(32),IN parentId INT,IN enabled BOOLEAN,OUT result INT,OUT result2 INT)BEGIN DECLARE did INT; DECLARE pDepPath VARCHAR(64); INSERT INTO department SET NAME=depName,parentId=parentId,enabled=enabled; SELECT ROW_COUNT() INTO result; SELECT LAST_INSERT_ID() INTO did; SET result2=did; SELECT depPath INTO pDepPath FROM department WHERE id=
原创文章,作者:筱凯,如若转载,请注明出处:https://www.jingyueyun.com/ask/570.html