《大型数据库》第8讲 存储过程

第8讲 存储过程
第8讲 存储过程

●题 要把某完成功能的SQL做成类似C语言 的函数,供需要时调用,如何做? ●什么是存储过程? 3是一组被编译在一起的TSQ语旬的集合, 它们被集合在一起以完成一个特定的任 概述 务, ●存储过程的分类 9系统存储过程 3扩展存储过程(提供从 SQL Server到外部 程序的接口,以便进行各种维护活动) 9用户自定义的存储过程
概 述 问题 要把某完成功能的SQL做成类似C语言 的函数,供需要时调用,如何做? 什么是存储过程? 是一组被编译在一起的T-SQL语句的集合, 它们被集合在一起以完成一个特定的任 务。 存储过程的分类 系统存储过程 扩展存储过程(提供从SQL Server到外部 程序的接口,以便进行各种维护活动) 用户自定义的存储过程

从以下几个方面考慮: 1.模块化编程 创建一个存储过程存放在数据库中后,就可 以被其他程序反复使用。 存储过程的作用 2.快速执行 存储过程第一次被执行后,就驻留在内存中。 以后执行就省去了重新分析、优化、编 译的过程 3.减少网络通信量 有了存储过程后,在网络上只要一条语句就 能执行一个存储过程。 安全机制 通过隔离和加密的方法提高了数据库的安全 性,通过授权可以让用户只能执行存储 过程而不能直接访问数据库对象
存 储 过 程 的 作 用 从以下几个方面考虑: 1. 模块化编程: 创建一个存储过程存放在数据库中后,就可 以被其他程序反复使用。 2. 快速执行: 存储过程第一次被执行后,就驻留在内存中。 以后执行就省去了重新分析、优化、编 译的过程。 3. 减少网络通信量 有了存储过程后,在网络上只要一条语句就 能执行一个存储过程。 4. 安全机制 通过隔离和加密的方法提高了数据库的安全 性,通过授权可以让用户只能执行存储 过程而不能直接访问数据库对象

视图 存储过程 存储过程和视图的比较 语句 只能是 SELECT可以包含程序流、 语句 逻辑以及 SELECT语句 输入、 不能接受参数,可以有输入输出 返回结果 只能返回结果集参数,也可以有 返回值 典型应用 多个表格的连接完成某个特定的 查询 较复杂的任务
存储过程和视图的比较 视图 存储过程 语句 只能是SELECT 语句 可以包含程序流、 逻辑以及 SELECT语句 输入、 返回结果 不能接受参数, 只能返回结果集 可以有输入输出 参数,也可以有 返回值 典型应用 多个表格的连接 查询 完成某个特定的 较复杂的任务

创°创建格式 建执 CREATE PROCEDURE proc name As Sql statements 过行 程简【间题】创建一个名为 p Student的 单 存储过程。返回 student.表中班级 的 编码为20000001的学生信息 存 储|。执行格式 EXEC proc name
创 建 、 执 行 简 单 的 存 储 过 程 创建格式: CREATE PROCEDURE proc_name AS Sql_statements 【问题】创建一个名为p_Student的 存储过程,返回student表中班级 编码为20000001的学生信息 执行格式: EXEC proc_name

创建一个名为 p StuByclass 的存储过程,返回“00电子 商务”班的所有学生的信息 练 习2执行该存储过程,外使用企 业管理器查看该存储过程的 定义
练 习 1 1. 创建一个名为p_StuByClass 的存储过程,返回“00电子 商务”班的所有学生的信息 2. 执行该存储过程,并使用企 业管理器查看该存储过程的 定义

创。创建格式 建带输 CREATE PROCEDURE proc name apara name datatype default] AS 过入 Sql statements 程参 数的存储 例】创建一个名为 Student para的存储过程.该 存储过程根据给定的班级编码显 示该班级所有学生的信息
创 建 带 输 入 参 数 的 存 储 过 程 创建格式: CREATE PROCEDURE proc_name @para_name datatype [=default], … AS Sql_statements 【例】创建一个名为 p_StudentPara的存储过程,该 存储过程根据给定的班级编码显 示该班级所有学生的信息

创建一个名为 p StuBy Para的 存储过程。根据给定的班级 编码和学生学号,显示相应 学生的信息 练 习
练 习 2 1. 创建一个名为p_StuByPara的 存储过程,根据给定的班级 编码和学生学号,显示相应 学生的信息

执。执行格式 行 EXEC proc name 带[@ para_name=]vale 输 过入指定参数名的格式 程参8不指定参数名的格式 数的存储 思考:当缺省参数执行存储过 程时,如何处理?
执 行 带 输 入 参 数 的 存 储 过 程 执行格式: EXEC proc_name [@para_name = ] value, … 指定参数名的格式 不指定参数名的格式 思考:当缺省参数执行存储过 程时,如何处理?

带·定义格式后上,同时指明 输 0UTPU关键字 ●创建、执行方法:P202-203 数【练习】创建存情过程P(C日3m 的 要求能根据用户给定的班级代码, 存 统计该班的人数,并将人数通过输 储 出变量返回给用户。 过如要查询班级代码为200 程 生人数。如何调用存储过程
带 输 出 参 数 的 存 储 过 程 定义格式同上,同时指明 OUTPUT关键字 创建、执行方法:P202-203 【练习】创建存储过程P_ClassNum, 要求能根据用户给定的班级代码, 统计该班的人数,并将人数通过输 出变量返回给用户。 如要查询班级代码为’20000002’的学 生人数,如何调用存储过程
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 《大型数据库》第7讲 视图.ppt
- 《大型数据库》第6讲 索引、约束与数据库其它对象.ppt
- 《大型数据库》第5讲 数据库与事务日志、表.ppt
- 《大型数据库》第4讲 数据库设计基础.ppt
- 《大型数据库》第3讲 Transact-SQL语言编程.ppt
- 《大型数据库》第2讲 Transact-SQL语言.ppt
- 《大型数据库》第1讲 SQL Server2000概述.ppt
- 深圳大学:《计算机应用基础》课程教学资源(PPT课件讲稿)第八章 信息安全与职业道德.ppt
- 深圳大学:《计算机应用基础》课程教学资源(PPT课件讲稿)第四章 数据库与信息系统.ppt
- 深圳大学:《计算机应用基础》课程教学资源(PPT课件讲稿)第七章 计算机网络基础.ppt
- 深圳大学:《计算机应用基础》课程教学资源(PPT课件讲稿)第三章 计算机软件系统.ppt
- 深圳大学:《计算机应用基础》课程教学资源(PPT课件讲稿)第五章 多媒体应用技术.ppt
- 深圳大学:《计算机应用基础》课程教学资源(PPT课件讲稿)第六章 数据通信基础.ppt
- 深圳大学:《计算机应用基础》课程教学资源(PPT课件讲稿)第一章 计算机基础知识.ppt
- 深圳大学:《计算机应用基础》课程教学资源(PPT课件讲稿)第二章 计算机件系统.ppt
- 《SQL基础—语句初步》第二章 SQL.ppt
- 宜宾职业技术学院:《实用组网技术》课程教学资源_校园网投标书实例(二).doc
- 宜宾职业技术学院:《实用组网技术》课程教学资源_校园网投标书实例(一).doc
- 宜宾职业技术学院:《实用组网技术》课程教学资源_交换机虚划分.doc
- 宜宾职业技术学院:《实用组网技术》课程教学资源_交换机访问.doc
- 《大型数据库》第9讲 触发器.ppt
- 《大型数据库》第10讲 事务与游标编程.ppt
- 《大型数据库》第11讲 SQL Server安全管理.ppt
- 《大型数据库》第12讲 数据库日常维护与管理.ppt
- 《大型数据库》第13讲 应用系统开发.ppt
- 浙江大学:《电子商务系统结构》课程PPT教学课件_第二讲 电子商务系统需求分析.ppt
- 浙江大学:《电子商务系统结构》课程PPT教学课件_第六讲 EB系统分析与设计工具.ppt
- 浙江大学:《电子商务系统结构》课程PPT教学课件_复习.ppt
- 浙江大学:《电子商务系统结构》课程PPT教学课件_第三讲 讨论的内容.ppt
- 浙江大学:《电子商务系统结构》课程PPT教学课件_第四讲 讨论的内容.ppt
- 浙江大学:《电子商务系统结构》课程PPT教学课件_第五讲 应用开发架构.ppt
- 浙江大学:《电子商务系统结构》课程PPT教学课件_第一讲 内容组织和结构.ppt
- 哈尔滨工业大学:《模式识别》课程教学资源(讲义)第一章 绪论(刘家锋).doc
- 哈尔滨工业大学:《模式识别》课程教学资源(PPT课件讲稿)第一章 绪论(刘家锋).ppt
- 哈尔滨工业大学:《模式识别》课程教学资源(讲义)第三章 判别函数分类器.doc
- 哈尔滨工业大学:《模式识别》课程教学资源(PPT课件讲稿)第三章 判别函数分类器.ppt
- 哈尔滨工业大学:《模式识别》课程教学资源(讲义)第二章 距离分类器和聚类分析.doc
- 哈尔滨工业大学:《模式识别》课程教学资源(PPT课件讲稿)第二章 距离分类器和聚类分析.ppt
- 哈尔滨工业大学:《模式识别》课程教学资源(讲义)第五章 特征选择与特征提取.doc
- 哈尔滨工业大学:《模式识别》课程教学资源(PPT课件讲稿)第六章 神经网络在模式识别中的应用.doc