实验五:T-SQL与存储过程
更新时间:2023-10-05 08:33:01 阅读量: 综合文库 文档下载
实验五:T-SQL与存储过程
一、实验目的
1、了解创建存储过程的T-SQL语句的基本语法
2、掌握使用界面操作方式和命令方式创建存储过程的方法和步骤 3、掌握存储过程的使用方法 二、实验平台和实验工具
Window 7、SQL Server 2008 三、实验相关知识
1、SQL SERVER支持五种类型的存储过程:系统存储过程、本地存储过程、临时存储过程、远程存储过程和扩展存储过程。其中,系统存储过程是由系统提供的存储过程,可以作为命令执行各种操作。系统存储过程定义在系统数据库master中,其前缀是sp_。本地存储过程是指在用户数据库中创建的存储过程,这种存储过程完成特定数据库操作任务,不能以sp_为前缀。 2、只能在当前数据库中创建存储过程。
3、创建存储过程时,应指定所有输入参数和向调用过程或批处理返回的输出参数、执行数据库操作的编程语句和返回至调用过程或批处理以表明成功或失败的状态值。
4、创建存储过程的T-SQL语句
? CREATE PROC[EDURE] 存储过程名称 [{ @参数名称 数据类型 }] [,?n] [WITH
{ RECOMPILE|ENCRYPTION }] AS
SQL语句序列 说明:
(1) RECOMPILE表明每次运行该过程时,将其重新编译。
(2) ENCRYPTION表示 SQL SERVER 加密SYSCOMMENTS表中包含 CREATE
PROCEDURE语句文本的条目。
注:必须将CREATE PROCEDURE语句放在单个批处理中。
成功执行CREATE PROCEDURE语句后,存储过程存储在sysobjects系统表中。
5、执行存储过程
? EXEC[UTE] @返回值=存储过程名称 参数值 6、查看存储过程
? 查看存储过程的文本信息:SP_HELPTEXT 存储过程名 ? 查看存储过程的一般信息:SP_HELP 存储过程名 ? 查看存储过程的相关信息:SP_DEPENDS 存储过程名 7、编辑修改存储过程
? ALTER PROCEDURE 存储过程名称 [{ @参数名称 数据类型 }][,?n] [WITH
{ RECOMPILE|ENCRYPTION }] AS
SQL语句序列
说明:各参数含义与CREATE PROCEDURE命令相同。 8、删除存储过程
? DROP PROCEDURE 存储过程名称[,?N] 四、实验内容及步骤
1、使用学生课程数据库S-T中的“student”表、“course”表和“sc”表,创建一个存储过程xsxx_proc。查询学生的姓名、课程名称和成绩。 代码: USE S-T GO
IF EXISTS(SELECT NAME FROM SYSOBJECTS
WHERE NAME='xsxx_proc' AND TYPE='p')
DROP PROCEDURE XSXX_PROC GO
CREATE PROCEDURE xsxx_proc AS
SELECT sname,cname,grade FROM student,sc,course WHERE student.sno=sc.sno
AND sno.cno=course.cno
GO
2、创建带参数的存储过程xbrs_proc。返回各系的男、女生人数。 代码: USE S-T GO
CREATE PROCEDURE xbrs_proc
@xbmc char(8) /*局部变量必须先定义后使用*/ AS
SELECT sdept,ssex,COUNT(*) AS 人数 FROM student WHERE sdept=@xbmc GROUP BYsdept,ssex GO
3、使用 “student”表,创建一个加密的存储过程jmxs_proc。返回信息系的所有学生的信息。 代码: USE S-T GO
CREATE PROCEDURE jmxs_proc WITH ENCRYPTION AS SELECT * FROM student WHERE sdept=‘is’ GO
4、执行已存在的存储过程xsxx_proc。 步骤: USE S-T GO
exec xsxx_proc GO
5、执行已存在的带参数的存储过程xbrs_proc,返回“cs”的学生人数以及男、女生人数。 步骤: USE S-T GO
Exec xbrs_proc ‘cs’ GO
6、分别查看XSXX_PROC存储过程的一般信息、文本信息和依赖关系。 步骤: USE S-T GO
EXEC SP_HELP xsxx_proc EXEC SP_HELPTEXT xsxx_proc
EXEC SP_DEPENDS xsxx_proc GO
7、查看JMXS_PROC存储过程的一般信息。 步骤: USE S-T
GO
SP_HELP jmxs_proc GO
8、修改XSXX_PROC存储过程,返回计算机系学生的姓名、课程名称和成绩。 步骤: USE S-T GO
ALTER PROCEDURE xsxx_proc AS
SELECT sname,cname,grade FROM student,sc,course WHERE student.sno=sc.sno
AND sc.cno=course.cno AND sdept= 'cs'
GO
9、删除JMXS_PROC存储过程。 步骤: USE S-T GO
DROP PROCEDURE jmxs_proc GO 四、实验任务
1、对学生课程数据库S-T,编写存储过程,完成下面功能:
1)统计离散数学的成绩分布情况,即按照各分数段统计人数; 2)将学生选课成绩从百分制改为等级制(即A、B、C、D、E);
要求:提交源程序并标识必要的注释。保证程序能正确编译和运行,认真填写实验报告。
2、简述下列程序的运行结果并完成实验,并检验效果。 USE S-T
IF EXISTS(SELECT name from sysobjects
Where name=’根据性别显示学生综合信息’ and type=’p’) DROP PROCEDURE 根据性别显示学生综合信息 GO
CREATE PROC根据性别显示学生信息 @性别_1 char(2)
AS SELECT 学号,姓名 FROM student Where 性别=@性别_1
3、创建存储过程isexcellent,实现如下功能:根据学号检查数据库原理成绩是否优秀,并用select传回一个变量值,若优秀则值为1,并输入提示信息“数据库原理成绩优秀,继续!”;否则值为0,并输入提示信息“数据库原理成绩一般,努力!”。(假定>=90分为优秀)
正在阅读:
实验五:T-SQL与存储过程10-05
四年级数学下册专项补差培优专项练习05-06
1.3世纪金榜 2013 高三复习 答案07-24
组织生活会党员主评议工作总结报告08-23
常州市花园中学校本课程开发案例05-13
当前中学生睡眠存在的问题及对策论文12-10
五年级下册数学教案-2.5《分数与小数》 - 西师大版(2014秋)06-01
校园超市调研方案10-11
企业销售与收款内部控制制度设计05-27
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 存储
- 过程
- 实验
- SQL
- 35kv变电所接地装置与防雷的设计
- 公司QC小组活动管理办法
- 思考题
- 商业银行文化产业金融对接策略方案研究报告
- 云南省2011年普通高等学校本科招收 - 图文
- 《离散数学》复习纲要A及答案
- 心律失常
- 小微企业金融服务工作总结
- 广东省汕头市金山中学2016-2017学年高二第一学期期末数学(文科)试卷与答案
- 2018国考申论范文:加快发展现代化农业
- 物业管理处日常服务操作程序
- 护理心理学作业及答案(全)2015
- 苏大生化和细胞生物学考研真题 - 04-11年
- 江苏大学微机原理试卷
- 工程水文水力学思考题
- 试卷航道整治
- 贵州重点项目-马铃薯薯片和薯粉加工项目可行性研究报告
- 03-梅州高新区园区控规说明书(终稿) - 图文
- 漆安慎力学第二版课后习题解答
- 君悦海棠小区绿建中水处理工程技术标