//多SQL中导出的触发器语句:
DROP TRIGGER IF EXISTS `t_trig`;
DELIMITER //
CREATE TRIGGER `t_trig` BEFORE INSERT ON `t_goods`
FOR EACH ROW beginset NEW.add_date = current_date();INSERT INTO test2 SET a2 = NEW.id;end
//
DELIMITER ; /************************************************
************************************************
************************************************/
//在删除一个终端调研时触发删除销售体验和竞品分析
DELIMITER //
CREATE TRIGGER `delete_assistant_research` BEFORE DELETE ON `tb_assistant_research`
FOR EACH ROW begin
DELETE FROM `tb_assistant_experience` WHERE `research_id` = old.id;
DELETE FROM `tb_assistant_compete_analyse` WHERE `research_id` = old.id;
end
//
DELIMITER; /************************************************
************************************************
************************************************/
//在删除一个竞品商品时, 删除该竞品商品的竞品分析数据
DELIMITER
CREATE TRIGGER `delete_product` AFTER DELETE ON `tb_assistant_compete_product`
FOR EACH ROW begin
DELETE FROM `tb_assistant_compete_analyse` WHERE `product_id` = old.id;
end
DELIMITER; /************************************************
************************************************
************************************************/
//在删除某一家门店时,删除该门店的巡店和终端调研
//本地服务器118所需要的触发器语句
DROP TRIGGER IF EXISTS `delete_assistant_store`;
DELIMITER //
CREATE TRIGGER `delete_assistant_store` AFTER DELETE ON `tb_assistant_store`
FOR EACH ROW begin
DELETE FROM `tb_assistant_visitstore` WHERE `store_id` = old.id;
DELETE FROM `tb_assistant_research` WHERE `store_id` = old.id;
end
//
DELIMITER; 远程服务器:121.199.167.212所导出的触发器
DROP TRIGGER IF EXISTS `delete_assistant_store`//
CREATE TRIGGER `delete_assistant_store` AFTER DELETE ON `tb_assistant_store`
FOR EACH ROW begin
DELETE FROM `tb_assistant_visitstore` WHERE `store_id` = old.id;
DELETE FROM `tb_assistant_research` WHERE `store_id` = old.id;
end
// /************************************************
************************************************
************************************************/
在删除某一个流程时,需要删除对应该流程的备注信息
sign=1删除巡店 sign=2删除销售体验 sign=3删除竞品分析 //以后用标准格式
DROP TRIGGER IF EXISTS `delete_assistant_option`;
delimiter //
CREATE TRIGGER `delete_assistant_option` AFTER DELETE ON `tb_assistant_option`
FOR EACH ROW BEGIN IF old.sign=1 THEN
DELETE FROM `tb_assistant_visitstore_message` WHERE `option_id` = old.id;
ELSEIF old.sign=2 THEN
DELETE FROM `tb_assistant_experience_message` WHERE `option_id` = old.id;
ELSEIF old.sign=3 THEN
DELETE FROM `tb_assistant_compete_analyse_message` WHERE `option_id` = old.id;
END IF; END;
//
delimiter ; 标准格式,版主给的
delimiter //
CREATE TRIGGER testref BEFORE INSERT ON test1
FOR EACH ROW BEGIN
INSERT INTO test2 SET a2 = NEW.a1;
DELETE FROM test3 WHERE a3 = NEW.a1;
UPDATE test4 SET b4 = b4 + 1 WHERE a4 = NEW.a1;
END;
//
delimiter ;

  

mysql触发器_begin end 执行多次语句的更多相关文章

  1. MySQL存储过程中实现执行动态SQL语句

    sql语句中的任何部分都可以作为参数. DROP PROCEDURE if exists insertdata; delimiter //CREATE PROCEDURE insertdata(IN ...

  2. mysql终止当前正在执行的sql语句

    show processlist;找出你要停止的语句然后找出你要终止的语句的idkill 248

  3. Mysql学习总结(10)——MySql触发器使用讲解

    触发器(TRIGGER)是由事件来触发某个操作.这些事件包括INSERT语句.UPDATE语句和DELETE语句.当数据库系统执行这些事件时,就会激活触发器执行相应的操作.MySQL从5.0.2版本开 ...

  4. 【转】mysql触发器的实战(触发器执行失败,sql会回滚吗)

    1   引言Mysql的触发器和存储过程一样,都是嵌入到mysql的一段程序.触发器是mysql5新增的功能,目前线上凤巢系统.北斗系统以及哥伦布系统使用的数据库均是mysql5.0.45版本,很多程 ...

  5. 【MySQL 读书笔记】当我们在执行该查询语句的时候我们在干什么

    看了非常多 MySQL 相关的书籍和文章,没有看到过如此优秀的专栏.所以未来一段时间我会梳理读完该专栏的所学所得. 当我们在执行该查询语句的时候我们在干什么 mysql> select * fr ...

  6. Mysql学习---视图/触发器/存储过程/函数/执行计划/sql优化 180101

    视图 视图: 视图是一个虚拟表(非真实存在),动态获取数据,仅仅能做查询操作 本质:[根据SQL语句获取动态的数据集,并为其命名],用户使用时只需使用[名称]即可获取结果集,并可以将其当作表来使用.由 ...

  7. MySQL数据库详解(一)执行SQL查询语句时,其底层到底经历了什么?

    一条SQL查询语句是如何执行的? 前言 ​ 大家好,我是WZY,今天我们学习下MySQL的基础框架,看一件事千万不要直接陷入细节里,你应该先鸟瞰其全貌,这样能够帮助你从高维度理解问题.同样,对于MyS ...

  8. 一条SQL语句在MySQL中是如何执行的

    概览 本篇文章会分析下一个sql语句在mysql中的执行流程,包括sql的查询在mysql内部会怎么流转,sql语句的更新是怎么完成的. 一.mysql架构分析 mysql主要分为Server层和存储 ...

  9. 原来select语句在MySQL中是这样执行的!看完又涨见识了!这回我要碾压面试官!

    大家好,我是冰河~~ MySQL作为互联网行业使用最多的关系型数据库之一,与其免费.开源的特性是密不可分的.然而,很多小伙伴工作了很多年,只知道使用MySQL进行CRUD操作,这也导致很多小伙伴工作多 ...

随机推荐

  1. Struts2的值栈和对象栈

    ValueStack 如何得到值栈: 如何将对象存入值栈: 让值栈执行表达式来获得值: 在JSP中跳过栈顶元素直接访问第二层: 在JSP中访问值栈对象本身(而不是它们的属性) ActionContex ...

  2. LeetCode OJ-- String to Integer (atoi) **

    https://oj.leetcode.com/problems/string-to-integer-atoi/ 细节题,把一个字符串转换成整数 class Solution { public: in ...

  3. ubuntu 14.04 unity 管理工具 unity-tweak-tool

    安装方式: sudo apt-get update sudo apt-get install unity-tweak-tool 用于更改字体,修改状态,disable 亚马逊的搜索等 功能.很好用

  4. JS检测浏览器是否支持HTML5视频播放 (标签<video>) ,

    function checkVideo() { if (!!document.createElement('video').canPlayType) { var vidTest = document. ...

  5. sql trunc()的使用

    1.TRUNC(for dates)TRUNC函数为指定元素而截去的日期值.其具体的语法格式如下:TRUNC(date[,fmt])其中:date 一个日期值fmt 日期格式,该日期将由指定的元素格式 ...

  6. Fiddler:在PC和移动设备上抓取HTTPS数据包

    Fiddler是一个免费的Web调试代理,支持任何浏览器.系统以及平台.这个工具是进行Web和App网络开发的必备工具,戳此处下载. 根据Fiddler官网的描述,具有以下六大特点: Web调试 性能 ...

  7. C#设计模式(11)——外观模式(Facade Pattern)

    一.引言 在软件开发过程中,客户端程序经常会与复杂系统的内部子系统进行耦合,从而导致客户端程序随着子系统的变化而变化,然而为了将复杂系统的内部子系统与客户端之间的依赖解耦,从而就有了外观模式,也称作 ...

  8. 在mac中自动保存git用户名与密码如此简单

    之前为了实现在Windows中自动保存git用户名与密码,写过一篇博客终于解决“Git Windows客户端保存用户名与密码”的问题,需要进行一堆配置. 而在Mac OS X中这个操作竟然如此简单.只 ...

  9. Android开发笔记

    Android 中国SDK: http://wear.techbrood.com/ Android SDK Manager 代理设置: http://www.cnblogs.com/sunzn/p/4 ...

  10. [Hyper-V]给Hyper-V创建两块网卡备用

    描述 给Hyper-V创建两块网卡备用 步骤: 1 打开Hyper-V,在右侧Action栏,单击Virtual Switch Manager… 2 依次选择New Virtual network s ...