mysql触发器_begin end 执行多次语句
//多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 执行多次语句的更多相关文章
- MySQL存储过程中实现执行动态SQL语句
sql语句中的任何部分都可以作为参数. DROP PROCEDURE if exists insertdata; delimiter //CREATE PROCEDURE insertdata(IN ...
- mysql终止当前正在执行的sql语句
show processlist;找出你要停止的语句然后找出你要终止的语句的idkill 248
- Mysql学习总结(10)——MySql触发器使用讲解
触发器(TRIGGER)是由事件来触发某个操作.这些事件包括INSERT语句.UPDATE语句和DELETE语句.当数据库系统执行这些事件时,就会激活触发器执行相应的操作.MySQL从5.0.2版本开 ...
- 【转】mysql触发器的实战(触发器执行失败,sql会回滚吗)
1 引言Mysql的触发器和存储过程一样,都是嵌入到mysql的一段程序.触发器是mysql5新增的功能,目前线上凤巢系统.北斗系统以及哥伦布系统使用的数据库均是mysql5.0.45版本,很多程 ...
- 【MySQL 读书笔记】当我们在执行该查询语句的时候我们在干什么
看了非常多 MySQL 相关的书籍和文章,没有看到过如此优秀的专栏.所以未来一段时间我会梳理读完该专栏的所学所得. 当我们在执行该查询语句的时候我们在干什么 mysql> select * fr ...
- Mysql学习---视图/触发器/存储过程/函数/执行计划/sql优化 180101
视图 视图: 视图是一个虚拟表(非真实存在),动态获取数据,仅仅能做查询操作 本质:[根据SQL语句获取动态的数据集,并为其命名],用户使用时只需使用[名称]即可获取结果集,并可以将其当作表来使用.由 ...
- MySQL数据库详解(一)执行SQL查询语句时,其底层到底经历了什么?
一条SQL查询语句是如何执行的? 前言 大家好,我是WZY,今天我们学习下MySQL的基础框架,看一件事千万不要直接陷入细节里,你应该先鸟瞰其全貌,这样能够帮助你从高维度理解问题.同样,对于MyS ...
- 一条SQL语句在MySQL中是如何执行的
概览 本篇文章会分析下一个sql语句在mysql中的执行流程,包括sql的查询在mysql内部会怎么流转,sql语句的更新是怎么完成的. 一.mysql架构分析 mysql主要分为Server层和存储 ...
- 原来select语句在MySQL中是这样执行的!看完又涨见识了!这回我要碾压面试官!
大家好,我是冰河~~ MySQL作为互联网行业使用最多的关系型数据库之一,与其免费.开源的特性是密不可分的.然而,很多小伙伴工作了很多年,只知道使用MySQL进行CRUD操作,这也导致很多小伙伴工作多 ...
随机推荐
- 1029. Median (25)
分析: 考察归并排序,用简单的快排会超时. #include <iostream> #include <stdio.h> #include <algorithm> ...
- noip2015-day1-t2
题意:有n个同学(编号为1到n)正在玩一个信息传递的游戏.在游戏里每人都有一个固定的信息传递对象,其中,编号为i的同学的信息传递对象是编号为Ti同学.游戏开始时,每人都只知道自己的生日.之后每一轮中, ...
- “ExternalException (0x80004005): GDI+ 中发生一般性错误”的问题 .
原因一般是写入文件时,.net没有该目录的写入权限. 解决方案:增加iis(对aspx而言)对该目录的写入权限.
- CobarClient源码分析(1)
CobarClient是阿里巴巴公司开发一个的开源的.基于iBatis和Spring的分布式数据库访问层.为了支持iBatis,Spring框架提供了一个SqlMapClientTemplate,通过 ...
- jsp中利用response.senddirect(str)重定向,传递参数新思路
用Servlet进行请求重定向,参数传递好办,直接用request.setAttribute(str1,str2); 但是如果不用Servlet 而是直接用jsp进行转发呢? 我们首先要知道 请求 ...
- ios图片的压缩
最近做图片的上传,由于项目中的涉及到的图片是从相册和相机中拍照获取的,所以图片的类型不一定,有些是jpg有些是png,另外随着现在设备相继的像素越来越高,所拍摄的图片也越来越到,在图片上传之前我们是需 ...
- linux增加根分区大小
以下操作以root身份运行 1.增加一个新分区(从原有硬盘分,或增加一个新硬盘并进行分区fdisk) 格式化成ext4(mkfs.ext4 /dev/sdb1,假设为/dev/sdb1) 2.将新的 ...
- Dynamic CRM 2013学习笔记(十二)实现子表合计(汇总,求和)功能的通用插件
上一篇 Dynamic CRM 2013学习笔记(十一)利用Javascript实现子表合计(汇总,求和)功能 , 介绍了如何用js来实现子表合计功能,这种方法要求在各个表单上添加js方法,如果有很多 ...
- C#异步将文本内容写入文件
在C#/.NET中,将文本内容写入文件最简单的方法是调用 File.WriteAllText() 方法,但这个方法没有异步的实现,要想用异步,只能改用有些复杂的 FileStream.WriteAsy ...
- mysql 去除空格
update nm_user set nickname=TRIM(Replace(Replace(Replace(nickname,'\t',''),'\n',''),'\r',''))