mysql-触发器

作者: 黄一倚 | 来源:发表于2018-10-28 15:13 被阅读0次

    触发器定义

    触发器是由事件来触发某个操作,这些事件包括insert语句、update语句和delete语句。当数据库系统执行这些事件时,会激活触发器执行相应操作。

    CREATE TRIGGER trigger_name trigger_time trigger_event ON tb_name FOR EACH ROW trigger_stmt
    trigger_name:触发器的名称
    tirgger_time:触发时机,为BEFORE或者AFTER
    trigger_event:触发事件,为INSERT、DELETE或者UPDATE
    tb_name:表示建立触发器的表明,就是在哪张表上建立触发器
    trigger_stmt:触发器的程序体,可以是一条SQL语句或者是用BEGIN和END包含的多条语句
    所以可以说MySQL创建以下六种触发器:
    BEFORE INSERT,BEFORE DELETE,BEFORE UPDATE
    AFTER INSERT,AFTER DELETE,AFTER UPDATE
    

    创建一条执行语句的触发器

    mysql> create trigger tr 
            -> after insert
            -> on user 
            -> for each row  
            -> insert into ulog(inTime) values(now());//
    Query OK, 0 rows affected (0.06 sec)
    

    测试触发器

    mysql> select adduser(8,'Harry','789')//  这是一个自定义函数
    

    创建多条执行语句的触发器

    mysql> create trigger tr2
        -> after delete
        -> on user
        -> for each row
        -> begin
        -> insert into ulog(inTime) values(now());                                     
        -> insert into ulog(inTime) values(now());
        -> end 
        -> //
    Query OK, 0 rows affected (0.08 sec)
    

    测试

    mysql> call removeUserById(4)//  这是一个存储过程
    

    相关文章

      网友评论

        本文标题:mysql-触发器

        本文链接:https://www.haomeiwen.com/subject/pcgptqtx.html