• 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 触发器名

  • 相关阅读:
    vue获取下拉框值
    vue子父组件通信
    内存堆栈问题
    Object.defineProperty()--数据劫持原理
    call和apply和bind的区别
    Object.create()和new object()和{}的区别
    Object.keys()/Object.values()的简单理解
    object.assign
    泛型的定义、使用
    ts 泛型
  • 原文地址:https://www.cnblogs.com/nyxd/p/5359788.html
Copyright © 2020-2023  润新知