仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 901|回复: 7
打印 上一主题 下一主题

[学习教程] TRIGGER 触发器取得insert, delete, update行的信息

[复制链接]
乐观 该用户已被删除
跳转到指定楼层
#
发表于 2015-1-16 14:19:22 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
2008年1月16号MySQLAB被Sun公司收购。而2009年,SUN又被Oracle收购。就这样如同一个轮回,MySQL成为了Oracle公司的另一个数据库项目。触发器语句中利用了两种特别的表:deleted表和inserted表。
Deleted表用于存储DELETE和UPDATE语句所影响的行的复本。在实行DELETE或UPDATE语句时,行从触发器表中删除,并传输到deleted表中。Deleted表和触发器表一般没有不异的行。
Inserted表用于存储INSERT和UPDATE语句所影响的行的正本。在一个拔出或更新事件处置中,新建行被同时增加到inserted表和触发器表中。Inserted表中的行是触发器表中新行的正本。
1.拔出操纵(Insert)
Inserted表无数据,Deleted表有数据
2.删除操纵(Delete)
Inserted表有数据,Deleted表无数据
3.更新操纵(Update)
Inserted表无数据(新数据),Deleted表无数据(旧数据)
因此我们的方案中要构造这种逆操作。Event_type增加一种FlashBACK_EVENT。这类操作形式与Query_Event相同,都是简单的SQL语句,只是包含了将数据恢复的操作。
山那边是海 该用户已被删除
7#
发表于 2015-3-24 07:43:59 | 只看该作者
如安全管理、备份恢复、性能监控和调优等,SQL只要熟悉基本操作就可以,只要程序设计部分只要稍加了解即可(如存储过程、触发器等)。
第二个灵魂 该用户已被删除
6#
发表于 2015-3-17 10:11:38 | 只看该作者
但是随着数据量的增大,这种成本差距会逐渐减小,趋于相等。(500万数量级只相差10%左右)
愤怒的大鸟 该用户已被删除
5#
发表于 2015-3-10 19:40:05 | 只看该作者
无法深入到数据库系统层面去了解和探究
简单生活 该用户已被删除
地板
发表于 2015-2-10 15:58:33 | 只看该作者
我个人认为就是孜孜不懈的学习
因胸联盟 该用户已被删除
板凳
发表于 2015-2-4 21:26:25 | 只看该作者
SQLServer的异构移植功能个人感觉最好了。(如果对比过SQLServer的链接服务器和Oracle的透明网关的朋友会发现SQLServer的sp_addlinkedserver(openquery)异构数据库系列比Oracle真是强太多了。)
活着的死人 该用户已被删除
沙发
发表于 2015-1-26 20:43:17 | 只看该作者
原来的计算字段其实和虚拟字段很像。只是管理方面好了而已,性能方面提高不多。但是SQL2005提供了计算字段的持久化,这就提高了查询的性能,但是会加重insert和update的负担。OLTP慎用。OLAP可以大规模使用。
谁可相欹 该用户已被删除
楼主
发表于 2015-1-18 12:54:48 | 只看该作者
再开发调试阶段和OLAP环境中,外键是可以建立的。新版本中加入了SETNULL和SETDEFAULT属性,能够提供能好的级联设置。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-23 04:52

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表