zoukankan      html  css  js  c++  java
  • Mysql 触发器

    触发器

        触发器的器就是绑定一组SQL语句,触发器的触发就是在某一时刻某一对象,的某个范围上发生某一事件时,执行触发器绑定的那一组SQL语句。

    某一时刻:before、after

    某一事件:insert、update、delete

    某一对象:某个表

    某个范围:记录或表

    一个表上最多可以设置6个触发器

    创建触发器

    语法:

    第1步:更改结束符

    delimiter 符号

    第2步:定义触发器

        create triggers 触发器名 时刻 事件 on 对象 【for each row】;

    create triggers 触发器名 before|after insert|delete|update on 表 字段名 【for each row】;

     

    begin

        -- sql语句

    end

    //

    第3步:更改结束符

    delimiter ;

    需求:

        一个定单表,库存表

    创建触发器

    查看触发器

    语法:

        show triggers;

    查看触发器创建的语句

    show create trigger 触发器名

    示例:

    触发器的使用:

    触发器的记录

        当触发器执行时,对触发的表的记录进行操作时,会进行相应记录;操作之前会记录在一个对象上(old或:old),操作之后也会记录一个对象(new或:new)。

    操作:        old                    new

    insert        null                    新的记录

    update        原记录信息            新记录的信息

    delete        原记录信息            null

    如何获取原记录或新记录的字段信息?

    语法:

    old或new.字段名

    old.id        old.num

    new.id        new.num

    示例:

    操作:

    【for each row】表示每一行都会触发一次。

        触发触发器的sql可能一次更改多条记录。for each row表示每产生或更新一条记录触发器执行一次。如果省略,表示无论更改多少条记录,只触发一次。

    删除触发器

    drop trigger 触发器名

  • 相关阅读:
    vue2.0 之 douban (二)创建自定义组件tabbar
    vue2.0 之 douban (一)框架搭建 及 整体布局
    react-navigation
    react-native modal
    javascript-使用el表达式获取后台传递的数据
    java Map
    java List集合
    javascript 自定义Map
    javascript Array(数组)
    ZOJ 3868 GCD Expectation (容斥+莫比乌斯反演)
  • 原文地址:https://www.cnblogs.com/nyxd/p/5359788.html
Copyright © 2011-2022 走看看