mysql之触发器与事务

1.触发器:对某个表进行(增/删/改)操作的前后如果希望触发某个特定的行为时,可以使用触发器,触发器用于定制用户对表的行进行(增/删/改)前后的行为

-- 触发器
-- delimiter $$
-- create trigger tr_star before insert on student for each row
-- begin
-- insert into class(caption) values('肚胀');
-- end $$
-- delimiter ;
-- insert into student(gender,class_id,sname) values('女',4,'沙比')

2.事务

innodb引擎支持

事务用于将某些操作的多个SQL作为原子性操作,
一旦有某一个出现错误,即可回滚到原来的状态,从而保证数据库的数据完整性

delimiter \
create procedure p1(
out return_code tinyint
)
begin
declare exit handler for sqlexception
begin
--错误
set return_code=1;
rollback;
end;
declare exit handler for sqlwarning
begin
--警告
set return_code=2;
rollback;
end;
start transaction;
delete from tb1;
insert into tb2(name) values('star');
commit;
--成功
set return_code=0;
end \
delimiter ;




原文地址:https://www.cnblogs.com/startl/p/12469803.html