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,否则会报错。

        

  • 相关阅读:
    stm32启动代码分析
    STM32固件库详解
    ARM GCC CodeSourcery EABI下载地址
    Linux/redhat 基本网络配置
    侧边栏导航
    div滚动,页面不滚动
    自定义滚动条样式
    placeholder自定义CSS
    浏览器判断
    初始化页面垂直居中
  • 原文地址:https://www.cnblogs.com/wscw/p/14536292.html
Copyright © 2011-2022 走看看