仓酷云

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

[学习教程] MYSQL网页设计触发器概述

[复制链接]
莫相离 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:25:16 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
一些典型的RDBMS功能并不总是在DBaaS系统中可用。例如MySQL学习教程,WindowsAzureSQLDatabase(以前的SQLAzure)是微软的DBaaS产品,提供了一个类似于SQLServer的数据库平台。在下面几节我们先容了一样平常意义的存储历程,即用户自界说的存储历程和体系存储历程。本节将先容一种特别的存储历程,即触发器。在余下各节中我们将对触发器的观点、感化和对其的利用办法作细致先容,使读者懂得怎样界说触发器,创立和利用各类分歧庞大水平的触发器。

12.5.1触发器的观点及感化
触发器是一种特别范例的存储历程,它分歧于我们后面先容过的存储历程。触发器次要是经由过程事务举行触发而被实行的,而存储历程能够经由过程存储历程名字而被间接挪用。当对某一表举行诸如UPDATE、INSERT、DELETE这些操纵时,SQLServer就会主动实行触发器所界说的SQL语句,从而确保对数据的处置必需切合由这些SQL语句所界说的划定规矩。
触发器的次要感化就是其可以完成由主键和外键所不克不及包管的庞大的参照完全性和数据的分歧性。除此以外,触发器另有别的很多分歧的功效:
(1)强化束缚(Enforcerestriction)
触发器可以完成比CHECK语句更加庞大的束缚。(2)跟踪变更Auditingchanges
触发器能够侦测数据库内的操纵,从而不同意数据库中未经允许的指定更新和变更。
(3)级联运转(Cascadedoperation)。
触发器能够侦测数据库内的操纵,并主动地级联影响全部数据库的各项内容。比方,某个表上的触发器中包括有对别的一个表的数据操纵(如删除,更新,拔出)而该操纵又招致该表上触发器被触发。(4)存储历程的挪用(Storedprocedureinvocation)。
为了呼应数据库更新触,发器能够挪用一个或多个存储历程,乃至能够经由过程内部历程的挪用而在DBMS(数据库办理体系)自己以外举行操纵。
因而可知,触发器能够办理初级情势的营业划定规矩或庞大举动限定和完成定制纪录等一些方面的成绩。比方,触发器可以找出某一表在数据修正前后形态产生的差别,并依据这类差别实行必定的处置。别的一个表的统一范例(INSERT、UPDATE、DELETE)的多个触发器可以对统一种数据操纵接纳多种分歧的处置。
整体而言,触发器功能一般对照低。当运转触发器时,体系处置的年夜部分工夫消费在参照别的表的这一处置上,由于这些表既不在内存中也不在数据库设备上,而删除表和拔出表老是位于内存中。可见触发器所参照的别的表的地位决意了操纵要消费的工夫是非。

12.5.2触发器的品种

SQLServer2000撑持两品种型的触发器:AFTER触发器和INSTEADOF触发器。个中AFTER触发器即为SQLServer2000版本之前所先容的触发器。该范例触发器请求只要实行某一操纵(INSERTUPDATEDELETE)以后,触发器才被触发,且只能在表上界说。能够为针对表的统一操纵界说多个触发器。关于AFTER触发器,能够界说哪个触发器被开始触发,哪个被最初触发,一般利用体系历程sp_settriggerorder来完成此义务。

INSTEADOF触发器暗示其实不实行其所界说的操纵(INSERT、UPDATE、DELETE),而仅是实行触发器自己。既可在表上界说INSTEADOF触发器,也能够在视图上界说INSTEADOF触发器,但对统一操纵只能界说一个INSTEADOF触发器。

通过支付一定费用,客户可以得到优先的24/7支持,访问内容丰富的在线知识库和联系一个专门的技术负责经理。
第二个灵魂 该用户已被删除
沙发
发表于 2015-1-19 11:18:45 | 只看该作者
索引视图2k就有。但是2005对其效率作了一些改进但是schema.viewname的作用域真是太限制了它的应用面。还有一大堆的环境参数和种种限制都让人对它有点却步。
若天明 该用户已被删除
板凳
发表于 2015-1-24 15:16:16 | 只看该作者
这是一个不错的新特性。虽然索引的附加字段没有索引键值效率高,但是相对映射到数据表中效率还是提高了很多。我做过试验,在我的实验环境中会比映射到表中提高30%左右的效率。
爱飞 该用户已被删除
地板
发表于 2015-2-1 18:31:33 | 只看该作者
数据库物理框架没有变动undo和redo都放在数据库得transaction中,个人感觉是个败笔。如果说我们在设计数据库的时候考虑分多个数据库,可能能在一定程度上避免I/O效率问题。
若相依 该用户已被删除
5#
发表于 2015-2-7 14:00:36 | 只看该作者
始终遗憾SQLServer的登陆无法分配CPU/内存占用等指标数。如果你的SQLServer给别人分配了一个只可以读几个表的权限,而这个家伙疯狂的死循环进行连接查询,会给你的系统带来很大的负担。
小女巫 该用户已被删除
6#
发表于 2015-2-22 07:06:34 | 只看该作者
学习SQL语言的话如果要学会去做网站就不是很难!但是要做数据库管理的话就有难度了!
飘灵儿 该用户已被删除
7#
发表于 2015-3-6 23:32:30 | 只看该作者
备份方面可能还是一个老大难的问题。不能单独备份几个表总是感觉不爽。灵活备份的问题不知道什么时候才能解决。
冷月葬花魂 该用户已被删除
8#
发表于 2015-3-13 22:34:11 | 只看该作者
如果处理少量数据,比如几百条记录的数据,我不知道这两种情况哪个效率更高,如果处理大量数据呢?比如有表中有20万条记录.
分手快乐 该用户已被删除
9#
发表于 2015-3-20 21:10:09 | 只看该作者
我是一个ERP初学者,对于前台运用基本熟悉,但对于后台SQLServer的运用一点也不懂,特想学习下相关资料。至少懂得一些基本的运用。希望各位能给于建议,小弟再谢过!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-11-15 03:38

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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