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

旅游网站建设经济评价网站诊断工具

旅游网站建设经济评价,网站诊断工具,项目经理职责及工作范围,从哪看出网站的建站公司本文转自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.w-s-a.com/news/62968/

相关文章:

  • o2o网站建设教程计算机培训班培训费用
  • 赤峰网站制作php智能建站系统
  • 做高防鞋 哪个网站能上架net网站开发net网站开发
  • 做网站公司郑州推广计划步骤
  • 网站建设计无形资产外国做美食视频网站
  • 创立一个网站需要什么网推技巧
  • 网站的会员功能怎么做wordpress主题开拓右边栏
  • 做个一般的网站要多少钱nas 建网站
  • 网页设计作品源代码彼岸花坊网站seo测评
  • 用什么软件做动漫视频网站好环保网站设计价格
  • 合肥网站设计服投稿网站源码
  • 为什么很多网站用php做上海口碑最好的装修公司排名
  • 运城网站推广找人做小程序要多少钱
  • 做外链哪个网站好seo诊断网站
  • 网站建设与管理考查方案上海公司免费起名
  • 哪个网站做h5好做汽车网站
  • 汝州网站制作住房和城乡建设部官网进行查询
  • 怎么做整人点不完的网站获取网站访客qq号码源码
  • 自建网站软件网站如何减少404跳转
  • 我想学制作网站吗公司起名网站十大排名
  • 广州白云手机网站建设淘宝店铺怎么推广
  • 青海省住房与城乡建设厅网站珠海高端网站制作公司
  • 深圳个性化建网站公司简便网站建设
  • 网站安全狗十大免费ppt网站在线
  • 进网站后台显示空白图片模板 网站源码
  • dedecms 英文网站怎么在网站上做模式题库
  • 轻网站怎么建立国外做评论的网站
  • 拉米拉网站建设乐清网站网站建设
  • 获取网站全站代码申请免费域名的方法
  • 网站制作建设公司哪家好wordpress仪表盘打不开