![第11章 存储过程汇总_第1页](http://file1.renrendoc.com/fileroot_temp2/2020-6/26/591c4e6a-1a1c-426b-9891-2bfeae650701/591c4e6a-1a1c-426b-9891-2bfeae6507011.gif)
![第11章 存储过程汇总_第2页](http://file1.renrendoc.com/fileroot_temp2/2020-6/26/591c4e6a-1a1c-426b-9891-2bfeae650701/591c4e6a-1a1c-426b-9891-2bfeae6507012.gif)
![第11章 存储过程汇总_第3页](http://file1.renrendoc.com/fileroot_temp2/2020-6/26/591c4e6a-1a1c-426b-9891-2bfeae650701/591c4e6a-1a1c-426b-9891-2bfeae6507013.gif)
![第11章 存储过程汇总_第4页](http://file1.renrendoc.com/fileroot_temp2/2020-6/26/591c4e6a-1a1c-426b-9891-2bfeae650701/591c4e6a-1a1c-426b-9891-2bfeae6507014.gif)
![第11章 存储过程汇总_第5页](http://file1.renrendoc.com/fileroot_temp2/2020-6/26/591c4e6a-1a1c-426b-9891-2bfeae650701/591c4e6a-1a1c-426b-9891-2bfeae6507015.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、11 .存储过程本章的主题什么是l存储过程l创建存储过程CREATE PROCEDURE命令的详细信息l存储过程的执行l重命名存储过程l修改存储过程l删除存储过程不要学习必杀技! 学习如何使用SQL编写存储程序11.1 .什么是存储过程我相信接受前四章的洗礼,对Microsoft SQL Server的编程有基本的认识。第07章Transact-SQL编程第08章数据的查询、统计、统计和分析第09章数据记录的添加、修改、删除第十章视图本章就更高级的内容进行说明。存储过程包含几个Transact-SQL语句,并以特定名称存储在数据库中。 存储过程是数据库对象。 变量、条件执行和其他强大的编程功能
2、可以在存储过程中声明。l可以包含用于执行数据库操作的语句,并且可以调用其他存储过程。l输入参数可以被接受,并且多个数据值可以作为输出参数返回给调用程序。具体例子:试试看,明白吗? 稍后详细介绍。createproceduregetcperson mname varchar (10 ) mcur _ salary money美联储更新VFP manSET cur_salary=cur_salary*1.2where name= mnameandscur _ salary= mcur _ salary11.1.1 .存储过程的优点l可以进行模块化的编程它的运行速度比l快,存储过程预先编译和优化,然
3、后存储在数据库中l有效地降低网络通信量比l安全,即使有人限制对表的操作,也必须要求对该表执行特定的操作。11.2 .创建存储过程创建过程命令。在查询分析器中执行命令。11.3 .详细说明创建程序命令create proc edu re procedure _ name ; 数字符号 parameter data_type varying =默认 输出, n WITH recompile,ENCRYPTION 复制的目的。AS sql_statement .n number型用于对同名过程进行分组的可选整数。 可以使用DROP PROCEDURE语句删除同一组中的过程。 例如,名为orders的
4、应用程序使用的过程可以命名为orderproc,1、orderproc; 二等。 DROP PROCEDURE orderproc语句删除整个组。VARYING公司指定支持的结果集作为输出参数(由存储过程动态构建,内容可以修改)。 仅适用于光标参数。11.3.1 .指定存储过程的名称l存储过程名称最多可包含128个字符l请勿以sp_开始,以免与系统存储过程混淆11.3.2 .指定存储过程的语句CREATE PROCEDURE命令不能与其他Transact-SQL命令位于同一批中。下面的代码是错误的USE NorthwindSQL -与下一个创建过程在同一批中创建程序myproc美联储SELEC
5、T * FROM飞狐工作室更改后:USE NorthwindSQLgo! go!创建程序myproc美联储SELECT * FROM飞狐工作室评论:l最好各存储过程只负责一项作业建议您在创建l存储过程之前,使用SQL查询分析程序创建并测试要包含在存储过程中的程序代码,如果没有错误,则添加CREATE PROCEDURE命令来创建存储过程。l存储过程可以访问表、视图并调用其他存储过程。l存储过程的最大长度为128MB11.3.3 .输入参数将数据值传递给存储过程。 该数据值也称为输入参数。 parameter data_type varying =默认 输出l参数的名称必须以开头。l data_
6、type指定输入参数的数据类型。l default指定输入参数的默认值。l存储过程最多可以有2100个参数,包括输入和输出参数。示例1 :使用传递的参数,选择具有所选名称的员工数据。/*文件名: Demo111.sql */USE NorthwindSQLifexists (selectnamefromsysobjects )WHERE name=DemoProc1 AND type=P )DROP PROCEDURE DemoProc1go! go!创建程序解调proc 1name varchar(10 )美联储SELECT身份证号码名字生日年龄=DATEDIFF(yy、出生年月日、GETD
7、ATE () )FROM飞狐工作室WHERE名称=namego! go!执行存储过程EXECUTE DemoProc1 许建仁- -方法之一或者EXECUTE DemoProc1 name=许建仁- -方法的两个-参数名称必须与定义时的名称匹配-你喜欢哪种方法?任务:创建一个存储过程,根据传递的学生名称,显示学生的基本信息根据传递的学号,显示选择的课程根据传递的班级名称,显示该班的学生信息。 创建存储过程,根据接收到的课程信息,将课程信息添加到course表中,创建存储过程,根据传递的学生的学号和入学成绩,更新该学生的入学成绩,根据传递的学号,删除该学生的选择项信息示例2 :/*文件名: De
8、mo112.sql */USE NorthwindSQLifexists (selectnamefromsysobjects )WHERE name=DemoProc2 AND type=P )DROP PROCEDURE DemoProc2go! go!创建程序解码proc 2 beginningdatedatetime=01/01/1900EndingDate datetime=12/31/2001美联储SELECT a .客户编号,a .公司名称a .地址、a .联系方式、a .电话b .订单编号,b .订单日期b .运费,b .受益人c .产品编号,c .单价c .数量,c .折扣从客
9、户a INNER JOIN订单主控器bINNER JOIN订单明细行cON b .订单编号=c .订单编号ON a .客户编号=b .客户编号WHEREb .订单日期between beginningdateand ending datego! go!执行存储过程executedemoproc 207/01/1996、07/31/1996或者executedemoproc2 beginning date=07/01/1996 ending date=07/31/1996-参数名称必须与定义时的名称匹配另一种调用方法:EXECUTE DemoProc2-:使用参数的默认值任务:创建存储过程,并定
10、义两个日期参数(参数的默认值显示出生于此日期带的狐狸工作室的个人信息)。任务:创建存储过程,并根据传递的产品类别名称(参数默认为饮料)显示该类别下的产品信息。例3 :/*文件名: Demo113.sql */USE NorthwindSQLifexists (selectnamefromsysobjects )WHERE name=DemoProc3 AND type=P )DROP PROCEDURE DemoProc3go! go!创建程序解调proc 3id varchar(10)=A-M%,name varchar(10)=允许%address varchar(10)=%市%美联储SE
11、LECT * FROM飞狐工作室WHERE身份证号码LIKE id AND名字LIKE name AND家庭地址LIKE addressgo! go!执行存储过程EXECUTE DemoProc3 ALM%、_建_、%天津市%执行演示proc 3任务:创建存储过程,并根据传递的产品名称(参数的默认值为%汁)显示产品信息。11.3.4 .输出参数示例1 :演示将传递的参数相乘并返回结果。/*文件名: Demo114.sql */USE NorthwindSQLifexists (selectnamefromsysobjects )WHERE name=DemoProc4 AND type=P )
12、DROP PROCEDURE DemoProc4go! go!创建程序dbo.demo proc 4mult1 intmult2 intresult int OUTPUT美联储SET result=mult1 * mult2go! go!执行存储过程/*文件名: Demo115.sql */DECLARE answer intexecdemoproc 4,12,33 answer outputSELECT运算的结果为:answer示例2 :计算指定部门的平均工资、最大工资和最低工资。/*文件名: Demo116.sql */USE NorthwindSQLifexists (selectnam
13、efromsysobjects )WHERE name=DemoProc5 AND type=P )DROP PROCEDURE DemoProc5go! go!创建程序dbo.demo proc 5department varchar(10 )average money OUTPUTmaximum money OUTPUTminimummoney输出美联储SELECT average=AVG (当前工资)maximum=MAX (当前工资)minimum=MIN (当前工资)FROM飞狐工作室WHERE部门=departmentgo! go!执行存储过程/*文件名: Demo117.sql
14、*/USE NorthwindSQLDECLARE department varchar(10 )declare average decimal (19,4 )declare maximum decimal (19,4 )declare minimum decimal (19,4 )SELECT department=制造部EXEC DemoProc5 departmentaverage OUTPUTmaximum OUTPUTminimum OUTPUTSELECT平均工资: CONVERT(nvarchar,average )最高工资: CONVERT(nvarchar,maximum )最低工资: CONVERT(nvarchar,minimum )任务:创建存储过程,定义输出参数,创建显示学生的平均入学成绩的存储过程,根据传递的课程名称,定义输出参数,显示选择该课程的学生的最高得分。11.4 .嵌套存储过程嵌套存储过程-在存储过程中调用另一个存储过程。嵌套最多可达32
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 科技家居新风尚小户型智能公寓案例分享
- 自然灾害下的家庭应急准备
- 家庭教育与未来教育的结合点
- 教育领域的科技创新在线小学数学辅导策略研究
- 科技赋能企业安全生产管理新模式探索
- 营养午餐计划与校园文化的构建
- 教育环境中加强学生防疫知识教育的措施与方法探讨
- 教育展馆的互动式学习空间设计
- 2025年漳州卫生职业学院高职单招高职单招英语2016-2024历年频考点试题含答案解析
- 小学数学课堂互动与孩子沟通技巧
- 九年级上册-备战2024年中考历史总复习核心考点与重难点练习(统部编版)
- 健康指南如何正确护理蚕豆病学会这些技巧保持身体健康
- 老客户的开发与技巧课件
- 2024建设工程人工材料设备机械数据分类和编码规范
- 26个英文字母书写(手写体)Word版
- GB/T 13813-2023煤矿用金属材料摩擦火花安全性试验方法和判定规则
- DB31 SW-Z 017-2021 上海市排水检测井图集
- 日语专八分类词汇
- GB/T 707-1988热轧槽钢尺寸、外形、重量及允许偏差
- GB/T 33084-2016大型合金结构钢锻件技术条件
- 高考英语课外积累:Hello,China《你好中国》1-20词块摘录课件
评论
0/150
提交评论