zoukankan      html  css  js  c++  java
  • mysql触发器的使用

    语法:

    create trigger 触发器名 before(或者after) update(或者delete或者insert)on 数据库表名
    for each row(固定结构)
    begin
      sql语句
    end 

    实例:

    
    

      create trigger calculate_fileSize after update on dps_task

     for each row

    BEGIN
    IF new.is_finish = 1 and new.doc_type = 379 THEN
               UPDATE dps_resource SET filesize = (SELECT SUM(filesize) 
               from dps_resource_associate dra WHERE dra.resource_id = 
               new.resource_id and dra.uri like "%/pic/%") WHERE 
               dps_resource.id = new.resource_id;
    ELSEIF new.is_finish = 1 and new.doc_type <> 51 THEN
               UPDATE dps_resource SET filesize = (SELECT SUM(filesize) 
               from dps_resource_associate dra WHERE dra.resource_id = 
               new.resource_id and dra.uri like "%/origpic/%") WHERE 
               dps_resource.id = new.resource_id;
    END IF;
    END;        

    new: 指的是sql中更新后的那条数据

    old:指的是sql中更新前的那条数据

    如果事件是delete,则只有old没有new。如果事件是insert, 则只有new没有old,否则会报错。

        

  • 相关阅读:
    jQuery对表单的操作
    js-工厂模式
    js中call、apply、bind的区别
    js实现重载和重写
    js封装/继承/多态
    变量的解构赋值
    var & let & const 的区别
    jQuery之animate中的queue
    jQuery之动画
    .trigger
  • 原文地址:https://www.cnblogs.com/wscw/p/14536292.html
Copyright © 2011-2022 走看看