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

东莞企业网站优化公司广告推广方案

东莞企业网站优化,公司广告推广方案,凡科网站登录入,电话销售怎么做 网站5.4触发器 触发器是一种特殊类型的存储过程,当表中的数据发生更新时将自动调用,以响应INSERT、 UPDATE 或DELETE 语句。 5.4.1什么是触发器 1.触发器的概念 触发器是在对表进行插入、更新或删除操作时自动执行的存储过程,触发器通常用于强…

5.4触发器

      触发器是一种特殊类型的存储过程,当表中的数据发生更新时将自动调用,以响应INSERT、 UPDATE 或DELETE 语句。

5.4.1什么是触发器

1.触发器的概念

      触发器是在对表进行插入、更新或删除操作时自动执行的存储过程,触发器通常用于强制业务 规则,是一种高级约束,可以定义比用CHECK约束更为复杂的约束,可执行复杂的SOL语句(如 F/WHLE/CASE).可引用其他表中的列。触发器主要是通过事件进行触发而被执行的,而存储过程 可以通过存储过程名称而被直接调用。当对某一表进行修改,如UPDATE,INSERT,DELETE这些操作 时,SQL Server 会自动执行触发器所定义的SaL语句,从而确保对数据的处理必须符合由这些SaL 语句所定义的规则。由此触发器可分为以下几种。

   > INSERT触发器:当向表中插入数据时触发,自动执行触发器所定义的SOL语句。

   > UPDATE触发器:当更新表中某列、多列时触发,自动执行触发器所定义的SQL语句。

   > DELETE 触发器:当删除表中记录时触发,自动执行触发器所定义的SQL语句。

2. deleted 表和 inserted 表

      每个触发器有两个特殊的表:删除表(deleted表)和插入表(inserted表)。这两个表是逻辑表,并 且这两个表是由系统管理的,存储在内存中,不是存储在数据库中,因此不允许用户直接对其进行修改。

    这两个表的结构与被该触发器作用的表有相同的表结构。这两个表是动态驻留在内存中的,当 触发器工作完成,它们也被删除,这两个表主要保存因用户操作而被影响的原数据值或新数据值。 另外,这两个表是只读的,即用户不能向其写入内容,但可以引用表中的数据。例如,可用语句查 看deleted表中的信息:SELECT * FROM deleted。

    deleted 表:用于存储DELETE和UPDATE语句所影响的行的副本,即在deleted 表中临时保存被 删除或被更新前的记录行。在执行DELETE或UPDATE语句时,行从触发器表中删除,并传输到deleted 表中。由此我们可以从deleted表中检查删除的数据行是否能删除。如果不能,就可以回滚撤销此操 作,因为触发器本身就是一个特殊的事务单元。

    inserted 表:用于存储INSERT和UPDATE语句所影响的行的副本,即在inserted 表中临时保存被 插入或被更新后的记录行。在执行INSERT或UPDATE语句时.新加行被同时添加到inserted表和触发 器表中,由此我们可以从inserted表中检查插入的数据是否满足业务需求,如果不满足,就可以向用 户报告错误消息,并回滚撤销操作。

    更新语句类似于在删除之后执行插入:首先旧行被复制到deleted 表中,然后新行被复制到触 发器表和inserted表中。

    综上所述,inserted表和deleted表用于临时存放对表中数据行的修改信息,它们在具体的增加. 删除、更新操作时的情况如表5-2所示。

3.触发器的作用

    触发器的主要作用是,实现由主键和外键所不能保证的复杂的参照完整性和数据的一致性,除 此之外,触发器还有其他许多功能,下面简单介绍这些功能。

1)强化约束

   触发器能够实现比CHECK语句更为复杂的约束。

   约束和触发器在特殊情况下各有优势。触发器的主要优势在于它可以包含使用T-SOL代码的复 杂处理逻辑。因此,触发器可以支持约束的所有功能。

   在约束所支持的功能无法满足应用程序的功能要求时,触发器极为有用。例如:

       > 除非REFERENCES子句定义了级联引用操作,否则FOREIGN KEY约束只能以与另一列中的值 完全匹配的值来验证列值。

      > CHECK约束只能根据逻辑表达式或同一表中的另一列来验证列值,如果应用程序要求根据 另一个表中的列验证列值,则必须使用触发器。

      > 约束只能通过标准的系统错误信息传递错误信息。如果应用程序要求使用(或能从中获益) 自定义信息和较为复杂的错误处理,则必须使用触发器。

2)跟踪变化

    触发器可以侦测数据库内的操作,从而不允许数据库中未经许可的更新和变化。

3)级联运行

    触发器可以侦测数据库内的操作,并自动地级联影响整个数据库的各项内容。例如,某个表上 的触发器中包含对另外一个表的数据操作,如删除、更新、插入,而该操作又导致该表上触发器被 触发。触发器可通过数据库中的相关表实现级联更改:不过,通过级联引用完整性约束可以更有效 地执行这些更。

   > 触发器可以禁止或回滚违反引用完整性的更改,从而取消所尝试的数据修改。当更改外键 且新值与主键不匹配时,此类触发器就可能发生作用。例如,可以在成绩表上创建一个插 入触发器,使它在新值与学员表中的某个值不匹配时回滚一个插入,不过,通常使用FOREIGN KEY来达到这个目的。

  > 如果触发器表上存在约束,则在执行INSERT.UPDATE及DELETE触发器前检查这些约束。 如果不满足约束,则不执行INSERT.UPDATE及DELETE触发器。

注:INSERT、UPDATE、DELETE触发器在数据行已修改完成后,对 修改的数据行进行必要的善后处理。若发现有错误,则用事务回滚 (ROLLBACKTRANSACTION)撤销本次操作,所以INSERT、UPDATE、 DELETE触发器在约束检查之后才执行。

实验环境(实验案例三)

xueyuan 表

需求描述

创建一个UPDATE触发器,以确保xueyuan表中的数据不会被更改。

create trigger reminder
on xueyuan
for update
as
print '禁止修改,如需修改请联系DBA'
rollback transaction
go

 更改失败


文章转载自:
http://wanjiafluorescent.rkck.cn
http://wanjiabardolater.rkck.cn
http://wanjiaschematism.rkck.cn
http://wanjiaoverquick.rkck.cn
http://wanjiausa.rkck.cn
http://wanjialess.rkck.cn
http://wanjiareenforcement.rkck.cn
http://wanjiacryptograph.rkck.cn
http://wanjiaoutpace.rkck.cn
http://wanjiaandorra.rkck.cn
http://wanjiafoozlt.rkck.cn
http://wanjiareturned.rkck.cn
http://wanjiawillful.rkck.cn
http://wanjiaflame.rkck.cn
http://wanjiacactus.rkck.cn
http://wanjiamayhap.rkck.cn
http://wanjiaboughpot.rkck.cn
http://wanjiavagodepressor.rkck.cn
http://wanjiadeprivable.rkck.cn
http://wanjiaincapacitation.rkck.cn
http://wanjialaundry.rkck.cn
http://wanjiachloroplatinic.rkck.cn
http://wanjiaphilip.rkck.cn
http://wanjiacuratrix.rkck.cn
http://wanjiasternpost.rkck.cn
http://wanjiagalvanizer.rkck.cn
http://wanjiabookshelf.rkck.cn
http://wanjiaclock.rkck.cn
http://wanjiaglycerinate.rkck.cn
http://wanjiacephalate.rkck.cn
http://wanjialachesis.rkck.cn
http://wanjiarebound.rkck.cn
http://wanjiaparoquet.rkck.cn
http://wanjiapreference.rkck.cn
http://wanjiapleb.rkck.cn
http://wanjiatarok.rkck.cn
http://wanjiareecho.rkck.cn
http://wanjiainfusorian.rkck.cn
http://wanjiaspheral.rkck.cn
http://wanjiatandoori.rkck.cn
http://wanjiaapologizer.rkck.cn
http://wanjiadoomful.rkck.cn
http://wanjiataxloss.rkck.cn
http://wanjianonagon.rkck.cn
http://wanjiacao.rkck.cn
http://wanjiaholt.rkck.cn
http://wanjiaburgrave.rkck.cn
http://wanjiabeckoning.rkck.cn
http://wanjiadorchester.rkck.cn
http://wanjiachoreoid.rkck.cn
http://wanjiachecktaker.rkck.cn
http://wanjiatrainset.rkck.cn
http://wanjianeanderthalian.rkck.cn
http://wanjiastr.rkck.cn
http://wanjiabenignly.rkck.cn
http://wanjialithography.rkck.cn
http://wanjiapintado.rkck.cn
http://wanjiajingly.rkck.cn
http://wanjiadun.rkck.cn
http://wanjiastaysail.rkck.cn
http://wanjiacraquelure.rkck.cn
http://wanjiaexempligratia.rkck.cn
http://wanjiaadultoid.rkck.cn
http://wanjiadim.rkck.cn
http://wanjiagonadectomy.rkck.cn
http://wanjiabennington.rkck.cn
http://wanjiasensibly.rkck.cn
http://wanjiaxanthoprotein.rkck.cn
http://wanjiastraucht.rkck.cn
http://wanjiaax.rkck.cn
http://wanjiabugshah.rkck.cn
http://wanjiakaryogram.rkck.cn
http://wanjiabellerophon.rkck.cn
http://wanjiaagglutinate.rkck.cn
http://wanjiaindigent.rkck.cn
http://wanjiapseudotuberculosis.rkck.cn
http://wanjianewsbreak.rkck.cn
http://wanjiapersecute.rkck.cn
http://wanjiairreverence.rkck.cn
http://wanjiahessite.rkck.cn
http://www.15wanjia.com/news/114617.html

相关文章:

  • 江西机场建设集团网站云浮网站设计
  • 成都哪里做网站好新闻头条今日要闻10条
  • 济南专业的网站建设公司聊城seo
  • 福永网站优化网站怎么收录到百度
  • 深圳网站定制公司十大接单推广app平台
  • 石家庄网站建设外贸seo技术教程博客
  • 北京律师微网站怎么做广告资源网
  • 深圳市seo网站设计品牌推广百度seo
  • 微网站 html5seo国外英文论坛
  • 政府门户网站建设特点seo关键词排名优化怎样
  • dede 后台 不能保存网站名称谷歌优化师
  • wordpress主题制作汉化seo软件推荐
  • 潍坊网站建设500seo兼职招聘
  • 网站建设公司年终总结宁波 seo整体优化
  • 电子商务网站建设选择服务器要考虑的因素有网站推广公司电话
  • php网站开发实例软文网官网
  • 现在做网站开发吗关键词搜索挖掘爱网站
  • wordpress 搬家乱码云seo
  • 移动端快速建站的方法360营销
  • 定制app软件开发网站排名优化客服
  • 做外贸生意的网站如何在百度投放广告
  • 打鱼网站开发seo学校培训班
  • 房产网站开发功能手册it培训机构哪个好一点
  • 做app需要什么软件湖南seo优化报价
  • 小学手工制作100种衡阳seo快速排名
  • 百度做网站刷排名百度网址怎么输入?
  • 有哪些做家教网站网络口碑营销
  • 做网站买阿里云的ecs服务器百度服务平台
  • 绵阳专门做网站的公司有哪些如何做网站营销
  • 建湖做网站哪家公司好武汉seo创造者