赞
踩
存储过程
存储过程简单来说,就是为以后的使用而保存的一条或多条 MySQL 语句的集合。 |
SQL |
SQL |
SQL |
SQL |
循环语句,用来重复执行某些语句。
执行过程中可使用 leave语句或 iterate 跳出循环,也可以嵌套 IF等判断语句。
SQL |
SQL |
SQL |
显示特定模式的存储过程,要求显示名称中包含“my”的存储过程
SQL |
SQL |
SQL |
当我们对一个表数据进行操作时(增加/修改/删除数据),需要同步对其他表执行相应的操作。触发器由事件来触发某个操作,这些事件包括INSERT语句、UPDATE语句和DELETE语句。当数据库系统执行这些事件时,就会激活触发器执行相应的操作。MySQL从5.0.2版本开始支持触发器。
SQL |
参数解读
SQL |
例如,对下面的class班级表和student学生表之间创建触发器,要求当student表中插入学生数据时,班级表同步更新班级人数:
对于insert事件,使用new才表示插入的记录,因此这里要使用class.id=new.class_id;
SQL |
插入一些数据
SQL |
对于delete事件,使用old才表示删除的记录
SQL |
SQL |
在MySQL中,一般情况下用“;”符号作为语句的结束符号,可是在创建触发器时,需要用到“;”符号作为执行语句的结束符号。为了解决该问题,可以使用关键字DELIMITER语句。例如,"DELIMITER $'$"可以将结束符号设置成“$$”。
SQL #将分号“;”声明为“ ” create trigger tri_delete_student after delete on student for each row BEGIN Delete from grade where id = OLD.id; #删除成绩表中的记录 update class set count=count-1 where id = OLD.class_id; #更新班级表中的记录 END; #分号要有 $$ DELIMITER ; #再将分号声明回来 |
SQL |
SQL |
参考文档
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。