关系数据库与SQL Server 2008 第2版 教学课件 ppt 作者 龚小勇 第25讲 存储过程

上传人:E**** 文档编号:89156162 上传时间:2019-05-19 格式:PPT 页数:17 大小:571.51KB
返回 下载 相关 举报
关系数据库与SQL Server 2008 第2版 教学课件 ppt 作者 龚小勇 第25讲  存储过程_第1页
第1页 / 共17页
关系数据库与SQL Server 2008 第2版 教学课件 ppt 作者 龚小勇 第25讲  存储过程_第2页
第2页 / 共17页
关系数据库与SQL Server 2008 第2版 教学课件 ppt 作者 龚小勇 第25讲  存储过程_第3页
第3页 / 共17页
关系数据库与SQL Server 2008 第2版 教学课件 ppt 作者 龚小勇 第25讲  存储过程_第4页
第4页 / 共17页
关系数据库与SQL Server 2008 第2版 教学课件 ppt 作者 龚小勇 第25讲  存储过程_第5页
第5页 / 共17页
点击查看更多>>
资源描述

《关系数据库与SQL Server 2008 第2版 教学课件 ppt 作者 龚小勇 第25讲 存储过程》由会员分享,可在线阅读,更多相关《关系数据库与SQL Server 2008 第2版 教学课件 ppt 作者 龚小勇 第25讲 存储过程(17页珍藏版)》请在金锄头文库上搜索。

1、第9章 存储过程与触发器 存储过程的使用,第25讲,标识符、常量、变量 T-SQL系统内置函数 使用批处理 流程控制语句 beginend语句 ifelse语句 while、break和continue语句 waitfor语句,第9章 存储过程与触发器 存储过程的使用 学习目标,认知目标: 掌握存储过程的定义及优点 了解常用的系统存储过程 能力目标: 掌握存储过程的创建和执行(重点) 掌握存储过程中输入参数和输出参数的设置和使用方法(难点),一、存储过程的基本概念 1.存储过程的含义及功能,存储过程的含义 是一组T-SQL语句的预编译集合,能实现特定的功能。 存储过程是一种独立的数据库对象,在

2、服务器上创建和运行。 类似于编程语言中的过程或函数。,一、存储过程的基本概念 2.存储过程的优点,模块化编程 执行速度快效率高 存储过程在执行1次后,其执行计划就保存在内存中,以后在执行时就不必再进行编译和优化。 减少网络流量 由于存储过程是存在服务器上的一组T-SQL,在客户端调用时,可以只用一条调用语句即可执行。 提供一种安全机制 可以限制用户访问存储过程中涉及到的表的权限,只授予执行存储过程的权限,用户只能通过存储过程来访问表,从而保证了数据的安全性。,一、存储过程的基本概念 3.存储过程的类型,系统存储过程 是指由SQL Server提供的存储过程,可以作为命令执行。 系统存储过程定义

3、在系统数据库master中,其前缀是sp_。 用户存储过程 是由用户在当前数据库中创建的存储过程。 最好不要以sp开头。若用户定义的存储过程与系统存储过程同名,用户定义的存储过程永远不会执行。,二、创建和执行存储过程 1.简单存储过程,创建格式: create procedure 存储过程名 as SQL语句 说明:create procedure不能与别的T-SQL语句位于同一个批中。 相应的执行格式: execute 存储过程名,二、创建和执行存储过程 1.简单存储过程,实例1:创建1个简单的存储过程p1,查询所有学生的学号、姓名、课程号和成绩信息,并按成绩降序排列。 create pro

4、cedure p1 as select xsqk.学号,姓名,课程号,成绩 from xsqk, xs_kc where xsqk.学号=xs_kc.学号 order by 4 desc go exec p1 -执行存储过程,二、创建和执行存储过程 2.使用输入参数,创建格式: create procedure 存储过程名 形参 数据类型 =默认值 ,n as SQL语句 相应的执行格式: execute 存储过程名 实参= 值 ,n 输入参数的传递方式有两种: 按位置传递:直接给出参数的值,实参与形参一一对应 通过参数名传递:使用“参数名=参数值“的形式,参数可以任意顺序给出。,输入形参:接

5、收从外部传递给存储过程的数据。,输入实参:将数据传递给存储过程。,二、创建和执行存储过程 2.使用输入参数,实例2:创建1个带有输入参数的存储过程p2,查询指定课程号(作为输入参数)的学生成绩信息。 create proc p2 kch char(3)=101 -有默认值的输入形参:接收外部传递的数据 as select * from xs_kc where 课程号= kch go exec p2 -(1)使用默认值执行存储过程 exec p2 102 -(2)按位置传递参数 exec p2 kch=103 -(3)通过参数名传递参数,二、创建和执行存储过程 2.使用输入参数,课堂练习1:创建

6、并执行带输入参数的存储过程p3,查询指定学号(作为输入参数)的学生姓名、性别和所选课程号。 create proc p3 xh char(10) as select 姓名,性别,课程号 from xsqk , xs_kc where xsqk.学号=xs_kc.学号 and xsqk.学号= xh go exec p3 2012130101 -(1)按位置传递参数 exec p3 xh=2012130102 -(2)通过参数名传递参数 注意:因输入参数没有默认值,所以不能用“exec p3”,二、创建和执行存储过程 3.使用输出参数,创建格式: create procedure 存储过程名 形

7、参 数据类型 output ,n as SQL语句 相应的执行格式: execute 存储过程名 实参 output ,n 说明: 输出实参和输出形参的名字可以相同,也可以不同。 使用时,要先声明接收返回值的输出实参变量。,输出形参:将数据返回给调用它的程序。,输出实参:接收从存储过程返回的数据。,二、创建和执行存储过程 3.使用输出参数,实例3:创建1个带有输入参数和输出的存储过程p4,返回指定教师(作为输入参数)所授课程的课程号(作为输出参数)。 create proc p4 skjs varchar(20), kch char(3) output as select kch=课程号 fr

8、om kc where 授课教师=skjs go declare skjs varchar(20), kch char(3) set skjs=王颐 exec p_kch skjs, kch output print skjs+教师所授课程的课程号为:+kch,三、修改存储过程,语句格式: alter procedure 存储过程名 形参 数据类型 =默认值 output ,n as SQL语句 说明: 修改存储过程的定义后,原存储过程的权限设置仍有效 如果采用先删除存储过程再重建同名存储过程的方法,那么在原来存储过程上设置的权限将会全部丢失。,四、删除存储过程,删除存储过程: 语句格式:drop procedure 存储过程名,本课小结,存储过程的含义、优点、类型 创建存储过程:需要确定存储过程的组成部分: 所有的输入参数、传给调用程序的输出参数。 被执行的针对数据库操作的语句,包括调用其它存储过程的语句。 执行存储过程 修改、删除、查看存储过程,课余作业布置,课外练习: 教材 课后练习 教材 课外实践 任务1-3 上机准备:调试作业。,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号