当前位置: 首页 > news >正文

新网站快速排名软件衡阳购物网站开发案例

新网站快速排名软件,衡阳购物网站开发案例,网站用什么框架,php网站开发教程培训本文转自huangjianxiang1875的http://blog.csdn.net/huangjianxiang1875/article/details/7885130 触发器#xff1a; 我们可以监视某表的变化#xff0c;当发生某种变化时#xff0c;触发某个操作 能监视#xff1a;增#xff0c;删#xff0c;改 触发操作#xff1a;增…本文转自huangjianxiang1875的http://blog.csdn.net/huangjianxiang1875/article/details/7885130 触发器 我们可以监视某表的变化当发生某种变化时触发某个操作 能监视增删改 触发操作增删改 触发器应用场景 1.当向一张表中添加或删除记录时需要在相关表中进行同步操作。 比如当一个订单产生时,订单所购的商品的库存量相应减少。 2.当表上某列数据的值与其他表中的数据有联系时。 比如当某客户进行欠款消费 可以在生成订单时通过设计触发器判断该客户的累计欠款是否超出了最大限度。 3.当需要对某张表进行跟踪时。 比如当有新订单产生时需要及时通知相关人员进行处理 此时可以在订单表上设计添加触发器加以实现 案例如下 例一、 增加一个订单  库存相对减少  使用触发器解决问题 create table g( id int, name varchar(10), num int )charset utf8; create table o( oid int, gid int, much int )charset utf8; insert into g values  (1,猪,22), (2,羊,19), (3,狗,12), (4,猫,8); g表查询结果如图1 通过触发器 监视地点o表 监视操作insert 触发操作update 触发时间after 创建触发器的语法 create trigger triggerName  after/before insert/update/delete on表名 for each row  #这句话是固定的 begin sql语句    # 一句或多句insert/update/delete范围内 end; delimiter $  告诉服务器以什么符号结束  默认是一“;”结束 这里是以“$”结束 create trigger tg1 after insert on o for each row begin update g set num num - 3 where id 2;  #这里必须用“;”但是mysql遇见;结束  所以说要修改结束符 end$   告诉触发器以什么符号结束 这里是$结束 这个触发器不够完美 修改有局限性 然后操作触发器 insert into o values (2,2,3)$ 此时g表查询结果如图2 删除触发器的语法 drop trigger 触发器名;drop trigger tg1; 如何在触发器引用行的值 对于insert而言新增的行 用new来表示 行中的每一列的值用 new.列名 表示 create trigger tg2 after insert on o for each row  begin  update g set num num - new.much where id new.gid; end$ 没有操作之前的g表信息如图3 操作触发器 insert into o values (1,4,2); 此时如图4 可见触发器已经起作用   例二、 删除一个订单库存相应增加 监视地点o表 监视事件delete 触发事件update 触发时间after 对于delete而言原本有一行后来被删除 想引用被删除的这一行用old来表示old.列名  就可以引用被删除行中的值 create trigger tg3 after delete on o for each row begin  update g set num num old.much where id old.gid; end$ 没有触发之前 g表信息如图5 o表信息如图6 操作触发器 delete from o where oid 1$ 此时g表信息如图7 例三、 修改订单的数量改变库存的触发器 对于update来说 被修改的行 修改前的数据用old来表示old.列名 引用被修改之前行中的值 修改后的数据用new来表示new.列名 引用被修改之后行中的值 create trigger tg4 after update on o for each row  begin update g set num num old.much - new.much where id old.gid; end$ 修改前g表的数据如图8 o表的数据如图9 操作触发器后 update o set much 7 where oid 1; g表的数据如图10 o表的数据如图11 触发器里after和before的区别 after是先安完成数据的增删改再触发 触发的语句晚于监视的增删改无法影响前面的增删改动作 before是先完成触发再增删改 触发的语句先于监视的增删改发生我们有机会判断修改即将发生的操作 典型案例 对于所下订单进行判断如果订单的数量5就认为是恶意订单 强制把所订的商品数量改成5 create trigger tg5 before insert on o for each row begin    if new.much 5 then        set new.much 5;    end if;    update g set num num - new.much where id new.gid; end$ 查看g表的所有数据 如图1 查看o表的所有数据 如图2 触发触发器 insert into o values (1,1,100)$ 此时查看g表的所有数据 如图3 查看o表的所有数据 如图4 此时可以看出用before可以判断 查看所有的触发器 show triggers; 特别注意使用触发器要修改结束符“;”一般修改成“$” delimiter $  这个语句结束不能加;否则认为是$;结束
http://www.tj-hxxt.cn/news/230961.html

相关文章:

  • 成都房产信息查询官方网站wordpress微信群机器人
  • 百度 搜索到手机网站动漫制作专业在广西哪所院校最强
  • 网站服务器是干什么的西安seo交流
  • 网站个人备案类型怎样制作免费手机网站
  • 无锡网站营销推广中国黄金集团建设有限公司官方网站
  • 网站后台管理系统需求网站建设net接口
  • seo网站源码乐山市规划和建设局网站
  • 做职业规划的网站网站上传图片不成功
  • 网站开发技能有哪些公司网站百度排名没有了
  • 惠州做网站好的公司光华路网站建设
  • 农村做网站开发快速建站完整版
  • 做网站反复修改WordPress网站转APP插件
  • 网站建设如何入账从零开始wordpress主题
  • 网站需要优化的小型公司网站地址英文
  • 义乌义亭招工做网站养猪工作网站建设联系
  • 北京比较好的网站公司自己做网站卖什么
  • 女装市场网站建设费用评估wordpress中文博客主题
  • 网站开发的主要内容wap页面是什么
  • 雄安网站开发公司森网站建设
  • 做网站都要会些什么郑州网站建设选微锐
  • 淘宝联盟登记新网站深圳公司注册地址可以是住宅吗
  • 安徽网站搭建北京网站建设小鱼在线
  • 大学生网站开发接单全球最大的网站建设外包网
  • 手工艺品外贸公司网站建设方案北京建设工程联合验收网站
  • 怎样做易支付网站太原网站建设制作
  • 徐东做网站凡客官网首页
  • 电白网站开发公司企业官网招聘信息
  • 深圳企业网站公司网站备案号密码找回
  • 营销型手机网站小程序商城哪家好些
  • 站长工具端口网站优化大赛