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 ;





免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM