




下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 矿山开采与环境保护责任书样本
- 徐州安全生产条例
- 酒店的安全方面的知识
- 紧急医学救援预案
- 四级安全生产责任制
- 营业场所消防安全管理制度
- 初中副校长工作总结
- 车间班组6s管理方案
- 2025至2030中国中药材行业发展分析及投资前景与战略规划报告
- 2025至2030全球及中国IPO服务行业项目调研及市场前景预测评估报告
- 婚姻存续期协议书
- 矫正牙齿合同协议书模板
- GB/T 45575-2025工业产品表面缺陷自动检测系统技术要求
- 消防心理测试题目及答案2024
- 小学三年级数学下册口算练习题(每日一练共17份)
- 充电宝代理转让协议合同
- 银行客户投诉处理培训
- 电仪检修面试试题及答案
- 西藏幼教笔试题库及答案
- 记忆力提升图书出版行业深度调研及发展战略咨询报告
- XX公司事故隐患内部报告奖励制度1
评论
0/150
提交评论