视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
sqlserver存储过程和触发器
2020-11-09 13:42:37 责编:小采
文档


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

  一.存储过程

  1.存储过程的分类

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

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

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

  1).系统存储过程

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

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

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

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

  加上数据库名

  2).用户存储过程

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

  储过程。

  3).扩展存储过程

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

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

  二.触发器

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

  1.与存储过程的区别

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

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

  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表。

下载本文
显示全文
专题