1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 如何使用SQL Server INSTEAD-OF触发器

如何使用SQL Server INSTEAD-OF触发器

时间:2020-10-29 03:40:06

相关推荐

如何使用SQL Server  INSTEAD-OF触发器

后端开发|php教程

如何,使用,SQL,Server,,INSTEAD-OF,触发器,触发器,是,类似于,存储,程序,数据库,对

后端开发-php教程

触发器是类似于存储程序的数据库对象,它响应数据库环境下的某个请求。SQL Sever 包含3个触发器对象:AFTER,数据定义语言 (DDL)和INSTEAD-OF。

AFTER触发器是存储程序,它发生于数据操作语句作用之后,例如删除语句等。DDL是SQL Server 的新触发器,允许响应数据库引擎中对象定义水平事件(例如:DROP TABLE语句)。INSTEAD-OF触发器是对象,在数据库引擎中可以取代数据操作语句而执行。例如:将INSTEAD-OF INSERT触发器附加到表,告诉数据库执行此触发器。

使用INSTEAD-OF触发器的理由

INSTEAD-OF触发器是SQL Sever功能强大的对象,允许开发人员转移数据库引擎完成不同的工作,以满足开发要求。其中的一个例子是在数据库的表中添加INSTEAD-OF触发器,当不需要修改表时,可以对表的内容进行回滚。使用此方法时,必须格外小心,因为任何指定的表修改之前,INSTEAD-OF触发器必须处于激活状态。

使用INSTEAD-OF触发器一个更充分理由是视图处理。在视图中添加INSTEAD-OF触发器后,则可创建更新的视图。可更新视图允许完整地提取数据库大纲,因此可以用此方法设计系统,而不需要担心OLTP数据库大纲的问题,并且取代数据修改一组标准视图集。

范例

为了更好地说明可更新视图概念,我们提供一个示例。在本例中,我们设计一个产品表(记录产品),一个购买表(记录购买)。Listing A包含了创建表的脚本,运行此脚本后则得到示例中所要用到的表。运行Listing B脚本向表中添加数据。

现在表中已经有数据了,我可以为这些表创建一些有意义的视图。请查看Listing C。

这是个典型的产品水平的视图。它联合了数据库中的两个表,使得数据简单化了。但是,对于数据提取,使用视图则没有什么优势。在视图上附上INSTEAD-OF触发器后,则允许修改表,但是我不需要直接修改表中的数据。我使用Listing D中的代码在vw_ProductPurchases视图上创建一个INSTEAD-OF触发器。

请注意此INSTEAD OF触发器的声明。SQL Server创建的默认的触发器为AFTER触发器,因此,必须在触发器定义中指定INSTEAD OF子句。

触发器的第一条语句是“check”语句。本例中我使用此语句检测INSERTED表以确保显示ProductID字段,并且保证提供显示其他PurchasePrice 或 ProductPrice字段。

模板堂源码生成,vscode默认代码颜色,ubuntu 开源吗,tomcat没有启动,sqlite 存放文件数据,网络爬虫实训经验和体会,php 读取文件 乱码,seo网站推广客服,网站整站小偷工具软件,如何添加其他语言的网页,404页面模板 游戏lzw

/PHPjc/631002.true/PHPjc/631002.htmlTechArticle触发器是类似于存储程序的 数据库 对象 ,它响应数据库环境下的某个请求。SQL Sever 包含3个触发器对象:AFTER,数据定义语言 (DDL)和I…

安卓抢红包神器源码,vscode做双向链笔记,ubuntu share在,有关tomcat的书籍,爬虫做兼职,php 数据传递,襄阳外包seo推广哪里好,中国靓号网手机靓号网站源码,dz如何安装模板lzw

微信分销商城源码下载,vscode小程序语法插件,ubuntu su指令,2个tomcat 出错,比价网站爬虫,java与php开发网站,湖南技术好的seo优化,asp 大型厂房信息门户网站源码,lol论坛模板lzw

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。