zoukankan      html  css  js  c++  java
  • 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 ;




  • 相关阅读:
    P2494 [SDOI2011]保密 最小割
    P2765 魔术球问题
    [CTSC2008]祭祀river
    CF311E Biologist
    P4177 [CEOI2008]order
    函数的形参和实参
    python字符编码
    源码安装Vim并配置YCM自动补全插件
    Python基础练习之购物车
    Python字符串的所有操作
  • 原文地址:https://www.cnblogs.com/startl/p/12469803.html
Copyright © 2011-2022 走看看