灵当CRM

 找回密码
 立即注册
查看: 5280|回复: 0

脚本3—关于实施过程中利用触发器实现一些高级应用的实例

[复制链接]

1662

主题

1711

帖子

5万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
59922
发表于 2017-9-11 11:54:12 | 显示全部楼层 |阅读模式

解决方法:


目前系统没有这这类应用的定制功能,使用审批流程处理起来又过于繁琐。但是利用mysql自带的触发器来解决这个问题就很简单了,执行下面这个脚本创建一个触发器就解决了。


drop trigger if exists update_troubletickets_status_bysmowner;


delimiter ||


CREATE TRIGGER update_troubletickets_status_bysmowner BEFORE UPDATE ON ld_troubletickets


FOR EACH ROW


BEGIN


IF OLD.smownerid<>NEW.smownerid and OLD.`status`='未处理' THEN


SET NEW.`status`='已处理';


END IF;


END ||


delimiter ;


这里触发器表示当客户服务单(ld_troubletickets)有更新的时候触发操作:若负责人(smownerid)有更新,即修改前的负责人(OLD.smownerid)不等于修改后的负责人(NEW.smownerid),


并且修改前单据状态等于“未处理”(OLD.`status`='未处理'),则更新单据的状态为“已处理”。


OLD.columnname: 表示表中某个字段更新之前的值


NEW.columnname:表示表中某个字段更新之后的值



回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

灵当CRM

GMT+8, 2024-4-28 13:30 , Processed in 0.049119 second(s), 17 queries .

Powered by Discuz! X3.4

Copyright © 2008-2022, Tencent Cloud.

沪ICP备08110973号-2

快速回复 返回顶部 返回列表