9章存储过程与触发器.pptVIP

  • 2
  • 0
  • 约2.29万字
  • 约 113页
  • 2017-05-28 发布于上海
  • 举报
9章存储过程与触发器

学习目标: 通过本章学习,你能够学会: 1. 了解存储过程与触发器的特性 2. 了解存储过程与触发器的优点 3. 应熟练掌握使用企业管理器创建、修改、删除和查看存储过程与与触发器的操作。 4. 应熟练掌握使用T-SQL语句创建、修改、删除和查看存储过程,及如何执行存储过程与与触发器的操作。 存储过程与触发器是SQL Server中的两类数据库对象。它们都是由T-SQL语句编写而成的过程,所不同的是存储过程是由用户根据需要调用执行的,而触发器则是由某个动作(如删除或修改一条记录)引发执行的。另外,存储过程可以不依附于表而单独存在,而触发器则必须依附于一个特定的表。它们与函数也不同,函数可以直接通过函数名返回数值,其返回值可以直接在表达式中使用,而存储过程与触发器则不能直接通过其名称带回返回值,也不能直接在表达式中使用。 9.1 存储过程概念 [实例9.1] 了解存储过程的执行过程,如图9.1所示。 归纳分析: 在SQL Server中定义的过程被称为存储过程。存储过程是一组预先编译好的T-SQL代码,作为一个整体用于执行特定的操作。存储过程属于数据库对象,它们存放在数据库中,需要时用户可以调用。 存储过程具有如下优点: 1. 存储过程将一系列复杂的T-SQL代码封装在一起作为数据库对象存放在数据库 中,用户使用时不必接触T-SQL而仅需直接调用即可得到所需结果,简化了用户的操作。 2. 存储过程已经被编译,执行时省去了编译与优化的时间。另外,第一次从磁盘调用存储过程后,它将驻留在内存中,下一次使用时可以直接从内存中调用,因此对于需要多次调用的存储过程而言,速度明显加快。 3.在分布式查询中,调用存储过程的语句将比直接使用T-SQL的语句少得多,这将大大减少网络流量。 4.通过适当的权限设置,可以使系统的安全性得到更有效的保障。 9.2 存储过程分类 [实例9.2] 查看系统存储过程。 操作步骤: 归纳分析: SQL Server的存储过程分为三大类: 1.系统存储过程 系统存储过程是SQL Server内置的存储过程,可以直接用于执行一些操作,用于进行系统管理、登录管理、权限设置、数据库对象管理、查看数据库信息、数据库复制等操作。系统存储过程存放在master数据库中,以sp_作为前缀。在任何数据库中无需用master限定就直接执行。 2.临时存储过程 临时存储过程与临时表类似。是对用户定义的存储过程。以#、或##开头的存储过程。无论用户在哪个数据库中创建,它们都存放在临时数据库tempdb中。以#开头的存储过程是局部临时存储过程,它仅能由其创建者本人在创建完后立即调用,一旦该创建者断开与数据库的连接,局部临时存储过程立即被删除。以##开头的存储过程是全局临时存储过程,它可以由创建者本人和其他用户在创建完后共同调用,一旦创建者断开与数据库的连接,则不再允许新的用户使用,而且等其他正在使用该存储过程的用户使用完毕后,全局临时存储过程也被删除。 3. 扩展存储过程 是利用高级语言(如C语言)编写的存储过程,是SQL Server可以动态装载并执行的动态链接库(DLL)。扩展存储过程只能添加到master数据库中。本章不介绍扩展存储过程有关内容,读者可以参考其他书籍有关内容。 9.3存储过程创建 9.3.1使用企业管理器创建存储过程 [实例9.3] 在企业管理器中建立名为pro_new的存储过程,并执行。 操作步骤: 归纳分析: 如果是查看或修改已有存储过程的定义,则右击要查看或修改的存储过程,在弹出的快捷菜单中,选择“属性”命令,则调出“存储过程属性”窗口,在这里可以查看或修改存储过程的定义。 9.3.2 使用T-SQL语句创建存储过程 [实例9.4] 在“学生”数据库中建立一个存储过程pro_new1,用于查询所有学生的学号和数学期中成绩、计算机期中成绩,要求数学期中成绩和计算机期中 成绩分别列出。 已知数学期中成 绩的课程号是 1002、计算机期中 成绩的课程号是2005。 操作步骤: 归纳分析: 如果是查看或修改已有存储过程的定义,则右击要查看或修改的存储过程,在弹出的快捷菜单中,选择“属性”命令,则调出“存储过程属性”窗口,在这里可以查看或修改存储过程的定义。 9.3.2 使用T-SQL语句创建存储过程 [实例9.4] 在“学生”数据库中建立一个存储过程pro_new1,用于查询所有学生的学号和数学期中成绩、计算机期中成绩,要求数学期中成绩和计算机期中成绩分别列出。已知数学期中成绩的课

文档评论(0)

1亿VIP精品文档

相关文档