欢迎来到天天文库
浏览记录
ID:43187680
大小:38.55 KB
页数:3页
时间:2019-09-28
《数据库系统原理课程设计基础验证实验实验5》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、一、实验目的:通过本次实验,要求掌握变量定义,流程控制,存储过程,存储函数,游标等内容。二、实验内容:1)变量的声明和使用,掌握@@ERROR、@@ROWCOUNT、@@IDENTITY等全局变量的使用。2)使用BEGIN...END.IF...ELSE...>WHILE...CONTINUE...BREAK...>CASE等流程控制语句。3)使用存储过程。4)使用系统函数和用户自定义函数。5)使用游标处理数据。三、实验步骤:1)用T-SQL语言完成1+2+3……+100,并使用@@ERROE判断是否执行成功,如果成功则输出值,否则打印
2、执行失败。2)更新STUDENTS表中sid为80000759500的学生的email为ddff@sina.com,并通过@@1<0¥(:01;?4丁判断是否有数据被更新,如果没有则打印警告。USESchoolUPDATESTUDENTSSETemailiddff@sina.com’WHEREsid二80000759500IF@@ROWCOUNT二0PRINT,警告!没有数据被更新’3)使用IF...ELSE…语句,查询STUDENTS表中学号为800007595的学生,如果学生存在,则输出学生的各科成绩,否则打印查无此人。提示:US
3、ESchoolIF(EXISTS(...))BEGIN•••ENDELSEPRINT・・・4)中计算1+2+3+100中使用的是WHILE语句5)使用CASE语句,查询学号为800007595所选择的课程号为10042的成绩,如果为80分或以上,打印优秀,如果在60-80分之间则打印及格,否则打印不及格。2)使用T-SQL命令CREATEPROC语句可创建存储过程,基本语法格式如下:CREATEPROC[UDURE]<>([{@参数数据类型}[=默认值][OUTPUT]][,…n])[WITH{RECOMPILE
4、ENCRYPTION
5、
6、RECOMPILE,ENCRYPTION}]AS<SQL语句>[...n]创建一个带输入和输出参数的存储过程,查询学生选修课程成绩,将分数低于60分的成绩改为60分,高于80分的成绩改为80分。输入参数为学生的学号,输岀参数为提示信息,如果不学生不存在则参数值为查无此人,更改失败则为更改失败,更改成功则为更改成功。(提示:可使用事务机制)执行已存在的存储过程使用语句格式如下:[EXECUTE]存储过程名[输入参数值]执行创建的存储过程,通过输出参数分析执行结果。3)查询学号为800007595的学生的email转换成大写输出,并查询其选
7、修课程名的前三个字符。提示:使用UPPER()函数和SUBSTRING()函数。4)用户自定义函数分为:标量值函数、内联表值函数、多语句表值函数。实验要求:创建标量值函数,要求根据输入的学生学号参数,返回学生的选课的平均成绩。创建内联表值函数,要求根据学生真实姓名显示其所有选修课程名和成绩。创建多语句内联表值函数,要求根据课程名称查询所有选修些课程的学生姓名和分数。提示:CREATEFUNCTIONv函数名>(v参数〉)RETURNS@tb_scoresTABLE(<返回表屈性〉)ASBEGININSERT@tb_scoresSELEC
8、T……RETURNEND执行:SELECT*FROM函数名课程名>,)实验报名中要求分析存储过程和存储函数的异同点!9)游标不同于查询语句,查询语句只能参整个结果集进行同一种操作,而游标允许定位在结果集的特定行,从结果集的当前位置检索一行或多行,支持对结果集中当前位置的行进行数据修改,为由其他用户对显示在结果集中的数据库数据所做的更改提供不同级别的可见性支持,提供脚本、存储过程和触发器中用于访问结果集中数据的T-SQL语句。使用游标必须按照下而顺序:声明游标,打开游标,读取游标中的数据,关闭游标,释放游标。游标声明:DECLAREv游标
9、名>[INSENSITIVE][SCROLL]CURSORFOR<SELECT语句〉[FOR{READONLY
10、UPDATE[OFv表名列表>]}]打开游标:OPEN{{[GLOBAL]<游标名>}
11、v游标变量名〉}提取数据:FETCH[[NEXR
12、PRIOR
13、FIRSR
14、LAST
15、ABSOLUTE{n
16、@整型变量}
17、RELATIVE{n
18、@整型变量}]FROM]{{[GLOBAL]v游标名>}
19、@游标变量名}[INTO@变量名列表]关闭游标:CLOSE{{[GLOBAL]v游标名〉}
20、v游标变量名〉}释放游标:DEALLOCATE{{
21、[GLOBAL]<游标名〉}
22、v游标变量名〉}实验要求:定义一个游标,将学号为800007595的学生的选修课程名和成绩逐行打印出来。定义一个游标,将学号为800007595的学生的第二门选修课程成绩(成绩
此文档下载收益归作者所有