SQL带事务的存储过程添加功能

create PROCEDURE SP_AddRole(in roleName varchar(20),in roleCode VARCHAR(20),in deptId INT)
BEGIN
/* 事务*/
DECLARE _err int DEFAULT 0;
DECLARE _Id int default 0;
DECLARE CONTINUE HANDLER for SQLEXCEPTION set _err=1;
start TRANSACTION;
IF(roleName<>'' and rolecode<>'' && deptId>=0)
 THEN
    insert into hr.base_roles(RoleName,RoleCode) VALUES(roleName,roleCode);
     SELECT LAST_INSERT_ID() into _Id;
   IF(_err>0)
    THEN
     ROLLBACK;
    end if;
            insert into hr.base_detpandrolerelation(DeptID,RoleID) values(deptId,_Id);
   IF(_err>0)
    THEN
     ROLLBACK;
    end if;    
      end if;
    COMMIT;
END
posted @ 2020-07-02 11:13  我们好像在那见过  阅读(180)  评论(0编辑  收藏  举报