sql server 存储过程和触发器

php中文网
发布: 2016-06-07 16:21:57
原创
1756人浏览过

一.存储过程 1.存储过程的分类 存储过程是一种数据库对象,存储在数据库内,可由应用程序通过一个调用执行,而且 允许用户声明变量、有条件执行,具有很强的编程功能 存储过程可以分为两类:系统存储过程、用户存储过程和扩展性存储过程 1).系统存储过程 系

   一.存储过程

  1.存储过程的分类

  存储过程是一种数据库对象,存储在数据库内,可由应用程序通过一个调用执行,而且

  允许用户声明变量、有条件执行,具有很强的编程功能

  存储过程可以分为两类:系统存储过程、用户存储过程和扩展性存储过程

  1).系统存储过程

  系统存储过程是由SQL Server系统提供的存储过程,可以作为命令执行各种操作。

  系统存储过程主要用来从系统表中获取信息,为系统管理员管理SQL Server提供帮助,

  为用户查看数据库对象提供方便。

  系统存储过程定义在系统数据库master中,其前缀是sp_。在调用时不必在存储过程前

  加上数据库名

  2).用户存储过程

  用户存储过程是指用户根据自身需要,为完成某一特定功能,在用户数据库中创建的存

  储过程。

  3).扩展存储过程

  扩展存储过程以在SQL Server环境外执行的动态链接库(DLL,Dynamic-LinkLibrar-ies)

  来实现。扩展存储过程通过前缀“xp_”来标识,它们以与存储过程相似的方式来执行。

  二.触发器

  触发器是当特定事件出现的时候,自动执行或者激活的,与连接到数据库中的用户或者应用程序无关.。一个表最多有三种不同类型的触发器,当UPDATE发生时使用一个触发器;DELETE发生时使用一个触发器;INSERT发生时使用一个触发器

  1.与存储过程的区别

诚石C2C交易系统
诚石C2C交易系统

1. 页面全部经过SEO(搜索引擎优化)处理 2. 支持IE、FireFox等主流浏览器,在IE 和FireFox下显示相同的效果 3. 符合W3C国际网页标准,页面全部采用DIV+CSS布局 4. 采用SQL server数据库,所有数据库操作采用存储过程 5. 部分功能采用AJAX技术,良好的用户体验。 6. 后台集成在线HTML编辑软件FCKEditor,自定义美观的内容

诚石C2C交易系统 0
查看详情 诚石C2C交易系统

  触发器与存储过程主要的区别在于触发器的运行方式。存储过程必须由用户、应用程序或者触发器来显示式地调用并执行,而触发器是当特定事件出现的时候,自动执行或者激活的,与连接到数据库中的用户或者应用程序无关

  注意: 尽管触发器的功能强大,但是它们也可能对服务器的性能很有害。因此,要注意不要在触发器中放置太多的功能,因为它将降低响应速度,使用户等待的时间增加

  2.触发器的分类

  1). DDL 触发器

  DDL触发器当服务器或者数据库中发生数据定义语言(DDL)事件时将被调用

  2). DML 触发器

  DML触发器是当数据库服务器中发生数据操作语言(DML)事件时要执行的操作

  3.两种特殊的表:DELETED表和INSERTED表

  SQL Server 2008为每个触发器语句都创建了两种特殊的表:DELETED表和INSERTED表。

  这是两个逻辑表,由系统来自创建和维护,,用户不能对他们进行修改。他们存放在内存而不

  是数据库中。这两个表的结构总是与被该触发器作用的表的结构相同。触发器执行完成后,

  与该触发器相关的这两个表也会被删除

  DELETE表存放由执行DELETE或者UPDATE语句而要从表中删除的所有行。在执行DELE

  TE或者UPDATE操作时,被删除的行从触发触发器的表中被移动到DELETE表,这两个表不

  会有共同的行。

  INSERT 表存放由执行INSERET或者UPDATE语句而要向表中插入的所有行。在执行INS

  ERT或者UPDATE事务中,新的行同时添加到触发触发器的表和INSERT表中,INSERT表的内

  容是触发触发器的表中新行的副本。

  注意: 一个UPDATE事务可以看作先执行一个DELETE 操作,再执行一个INSERT操作,旧的行首先被移动到DELETE 表,然后新行同时插入触发触发器的表和INSERT表。

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号