




下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、精选优质文档-倾情为你奉上第 章10存 储 过 程10.1 练习题10及参考答案1什么是存储过程?存储过程分为哪几类?使用存储过程有什么好处?答:存储过程是一系列预先编辑好的、能实现特定数据操作功能的SQL代码集,它与特定的数据库相关联,存储在SQL Server服务器上。用户可以像使用函数一样重复调用这些存储过程,实现它所定义的操作。存储过程分为3类:系统提供的存储过程、用户定义的存储过程和扩展存储过程。使用存储过程有如下好处如下:(1)存储过程提供了处理复杂任务的能力:存储过程提供了许多标准SQL语言所没有的高级特性,通过传递参数和执行逻辑表达式,能够处理复杂任务。(2)增强代码的重用性和
2、共享性:每一个存储过程可以在系统中重复地调用,可以被多个有访问权限的用户访问。存储过程可以增强代码的重用性和共享性,加快应用系统的开发速度,提高开发的质量和效率。(3)减少网络数据流量:存储过程是存放在服务器中并在服务器上运行的,应用系统调用存储过程时只有触发执行存储过程的命令和执行结束返回的结果在网络中传输。所以,使用存储过程可以减少网络中的数据流量。(4)加快系统运行速度:第一次执行后的存储过程会驻留在内存中,以后可以直接运行,从而加快应用系统的处理速度。(5)加强系统安全性:SQL Server可以不授予用户某些表、视图的访问权限,但授予用户执行存储过程的权限,通过存储过程来对这些表或视
3、图进行访问操作。从而保证表中数据的安全性。2修改存储过程有哪几种方法?假设有一个存储过程需要修改但又不希望影响现有的权限,应使用哪个语句来进行修改?答:修改存储过程有两种方法:一种方法是把旧的存储过程删除,然后再重新建立该存储过程。另一种方法是用单个的步骤更改该存储过程。使用前一种方法修改存储过程,所有与该存储过程相关联的权限都将丢失。而使用后一种方法可以更改过程或参数定义,但为该存储过程定义的权限将保留。所以要修改一个存储过程但又不希望影响现有的权限可使用后一种方法。使用的语句为ALTER PROCEDURE。10.2 上机实验题9及操作过程在上机实验题8的factory数据库上,使用T-S
4、QL语句完成如下各题:(1)创建一个为worker表添加职工记录的存储过程Addworker。(2)创建一个存储过程Delworker删除worker表中指定职工号的记录。(3)显示存储过程Delworker。(4)删除存储过程Addworker和Delworker。操作过程(1)建立存储过程的程序如下:USE factoryGOCREATE PROCEDURE Addworker no int=NULL, name char(10)=NULL, sex char(2)=NULL, birthday datetime=NULL, na char(2)=NULL, wtime datetime=
5、NULL, depno int=NULLASIF no IS NULL OR name IS NULL OR sex IS NULL OR birthday IS NULL OR depno IS NULLBEGIN PRINT '请重新输入该职工信息!' PRINT '你必须提供职工号、姓名、性别、出生日期、部门号' RETURNENDBEGIN TRANSACTION INSERT INTO worker VALUES(no,name,sex,birthday,na,wtime,depno) IF error<>0 BEGIN ROLLBACK
6、TRAN RETURN ENDCOMMIT TRANSACTIONPRINT '职工'+name+'的信息成功添加到表worker中'执行下列语句,可验证存储过程的正确性:USE factoryGOAddworker 20,'陈立','女','55/03/08','否','75/10/10',4GOSELECT 职工号,姓名,性别,党员否 FROM workerGO执行结果如下:职工陈立 的信息成功添加到表worker中职工号 姓名 性别 党员否- - - -1 孙华 男 是10 陈
7、涛 男 否11 刘欣 男 否12 李涵 男 是13 王小燕 女 否14 李艺 女 否15 魏君 女 否2 孙天奇 女 否20 陈立 女 否3 陈明 男 否4 李华 男 否5 余慧 男 是6 欧阳少兵 男 否7 程西 女 是8 张旗 男 否9 刘夫文 男 是(2)建立存储过程的程序如下:USE factoryGOCREATE PROCEDURE Delworker no int=NULLASIF no IS NULLBEGIN PRINT '必须输入职工号!' RETURNENDBEGIN TRANSACTION DELETE FROM worker WHERE 职工号=no I
8、F error<>0 BEGIN ROLLBACK TRAN RETURN ENDCOMMIT TRANSACTIONPRINT '成功删除职工号为'+CAST(no AS CHAR(2)+'的职工记录'执行下列语句,可验证存储过程的正确性:USE factoryGODelworker 20GOSELECT 职工号,姓名,性别,党员否 FROM workerGO执行结果如下:成功删除职工号为的职工记录职工号 姓名 性别 党员否- - - -1 孙华 男 是10 陈涛 男 否11 刘欣 男 否12 李涵 男 是13 王小燕 女 否14 李艺 女 否15
9、 魏君 女 否2 孙天奇 女 否3 陈明 男 否4 李华 男 否5 余慧 男 是6 欧阳少兵 男 否7 程西 女 是8 张旗 男 否9 刘夫文 男 是(3)对应的程序如下:USE factoryGOEXEC sp_helptext DelworkerGO执行结果如下:Text-CREATE PROCEDURE Delworker no int=NULLASIF no IS NULLBEGIN PRINT '必须输入职工号!' RETURNENDBEGIN TRANSACTION DELETE FROM worker WHERE 职工号=no IF error<>0 BEGIN ROLLBACK TRAN RETURN ENDCOMMIT TRANSACTIONPRINT '成功删除职工号为'+CAST(no AS CHAR(2)+'的职工记录'(4)对应的程序如下:USE factoryGOIF EXISTS (SELECT name FROM sysobjects WHERE name = 'Addworker' AND type ='P') DROP PROCEDURE A
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 深度解析2025年消费金融用户画像精准营销策略创新报告
- 数字化理赔服务在2025年保险行业的客户满意度提升路径报告
- 船舶修理合同及技术协议
- 湖南校企合作协议书范本
- 灾害监测合同协议书模板
- 聘用电工合同协议书模板
- 演员人身意外安全协议书
- 法人委托他人签合同范本
- 电动车合同租赁合同范本
- 铺地老青砖出售合同范本
- 公司销售提成管理办法
- 初一物理知识点视频课件
- 2025年大连市高校毕业生“三支一扶”计划招募笔试考试试题【答案】
- 2025年杭州劳动合同样本
- 2025内蒙古森工集团招聘高校毕业生114人(第二批)笔试参考题库附带答案详解版
- 二手车抵押回购交易合同
- 2025河南行政执法资格考试模拟卷(含答案)
- 肿瘤病人护理课件
- 老年患者综合评估表
- 2025年辅警招聘考试真题(含答案)
- 最新系统FMEA—(SFMEA)
评论
0/150
提交评论