版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、韶关学院学生实验报告册实验课程名称:数据库技术与应用实验项目名称: Transact-SQL 程序设计 实验类型(打) :(基础 ? 、综合、设计 )院系:教育学院 专业班级: 11 教育技术学姓名:学号:指导老师: 林育曼韶关学院教务处编制、实验预习报告内容预习日期: 2013 年 11 月 30 日 实验预习报告内容原则上应包含实验目的、 实验所用主要仪器药品、 实验原理与公式、 实验预习疑问等项目。一、实验目的1、掌握 Transact-SQL 的数据类型、常量变量、表达式等的概念和使用方法。2、掌握程序中注释的基本概念和使用方法。3、掌握程序中的流程控制语句的使用方法。4、掌握 SQL
2、 Server 2005 中常用函数的用法。5、掌握游标的概念和声明方法,以及使用游标进行数据的查询、修改、删除操作等。二、实验准备1、了解程序中注释的语法格式。2、了解程序中的流程控制语句: IF ELSE、CASE、WHILE等流程控制语句。3、了解系统提供的常用数学函数、 日期和时间函数、 字符串函数和数据类型转换函数的用 法。4、了解函数的使用方法。5、了解游标的使用方法。三、实验内容1、完成上机实验指导中的实验 7,并回答实验中的实验思考。具体实验要求看上机实验指导书的 1922 页。(选做)实验预习评分:二、实验原始(数据)记录 实验时间: 2013年 12月3日(星期 二 第 五
3、六 节) 实验同组人:如有实验数据表格, 学生在实验预习时应画好实验数据表格, 供实验时填写数据 (本页如 不够,可另附相同规格的纸张) 。指导教师 批阅及签名签名: 年 月 日三、实验报告内容2013年 12 月 4 日 实验报告内容原则上应包含主要实验步骤、实验数据计算(实验操作)结果、实验结果 (疑问)分析等项目。实施内容:一、根据实验要求完成实验: (写明步骤和截图)0. 创建 studentsdb 数据库及其相应表, 并录入数据。 启动查询 分析器,运行下面链接的代码即可。创建数据库代码1. 在查询分析器中,选择 studentsdb 数据库,输入以下代码。DECLAREstu na
4、me varchar ( 10) SELECTstu name= 姓 名 FORM student info WHERE 姓名 LIKE 张 %' SELECTstu name观察显示的结果, 与 student info 表中数据进行比较, stu name 赋值的是 SELECT 结 果集中 的哪个数据赋值的是结果集中的姓张的数据2. 定义 int 型局部变量 gradema、x grademin、gradesum,在 grade 表中查找最 高分、 最低分和总分,分别赋给 grademax、grademin 和 gradesum,并显示。DECLAREgrademax int,g
5、radesum,intSELECTgrademax = ma(x 分数) ,grademin = min (分数) ,gradesum = sum(分数)FROM gradeSELECT grademax ,grademin,gradesum3. 使用 SET 命令将查询的结果数目赋值给 int 型局部变量 row。给下面代码中的划 线处填上 适当的内容,以完成上述操作。DECLARErowSET =( SELECT COUN(T*)FROM grade)rows显示 rows 的值4. 以下代码在 curriculum 表中插入新纪录:DECLARE intCId int,intErrorC
6、ode intINSERT INTO curriculum (课程编号,课程名称,学分)VALUES(' 0006' , 'VB 程序设计' ,2)SELECTintCId = identity,intErrorCode = errorSELECTintCId, intErrorCode将该代码段连续执行两次, 观察两次显示的信息及 curriculum 表中数据的变化, 为什么 前后两次 执行时显示的信息会不同?两次显示的结果都是一样呀,网上的答案也是这样的,更不清楚为什么要问为什么两次执 行时显示 的信息会不同。因为我不小心执行了四次, 所以就出现了四个 V
7、B(估计是不是考的主键的唯一性?不能重复插入?但估计是之前的代码疏忽了设置主键?)5. 在 studentsdb 数据库的 student info表中, 以“性别”为分组条件, 分别统计男生和 女生人数。6. 在 grade 表中,使用适当函数找出“高等数学”课程的最高分、最低分和平均分。结果检验无误7. 定义一个 datetime 型局部变量 student ,以存储当前日期。 计算 student info 表 中的学 生的年龄, 并显示学生的姓名、 年龄。在以下代码的划线部分填入适当内容, 以实现 上述功能。DECLAREdatetimeSETstudent = 给 student 赋
8、值 为当前日期 SELECT 姓名, ( student )-year (出生日期)AS 年龄 FROMs tudent infoDECLARE a int , b intSET a =168SET b = 73 SELECT a & b,a| b ,ab均成9. 在局部变量 stu id 中存储了学号值。 编写代码查询学号为 0001 的学生的各科平 绩,如果平均分 >=60 则显示“你的成绩及格了,恭喜你! !”,否则显示“你的成绩不及 格”。IF (SELECT AVG(分数 ) FROMg rade where 学号 = 0001' )<60) PRINT
9、你的成绩不及格'ELSE PRINT 你的成绩及格了,恭喜你! !'10. 运行以下代码段,写出运行的结果。DECLARE counter intSET counter = 1WHILE counter <10BEGINSELECT counter 的值现在为: '+CONVERT(CH(AR2),counter) SET c ounter = counter +1END11. 查询 grade 表。如果分数大于等于 90,显示 A;如果分数大于等于 80 小于 90,显 示 B; 如果分数大于等于 70 小于 80 ,显示 C;如果分数大于等于 60 小于 70
10、 ,显示 D;其 他显示 E。在 以下代码的划线部分填入适当内容完成上述功能SELECT学 号,分数,等级 = CASE 分数=90 THEN A'WHEN 分数=80 AND 分数90B' WHEN 分数>=70 AND 分数 <80 THENC' WHEN 分数 >=60AND 分数 <70 THEN ELSE E' ENDFROM grade12. 计算 grade 表的分数列的平均值。 如果小于 80 ,则分数增加其值的 5%;如果分数 的最高 值超过 95 ,则终止该操作。在以下代码划线处填入适当的内容以完成上述功能。WHILE
11、 (SELECT( 分数 )FROM grade)<80BEGIN UPDATE gradeSET 分数 = 分数 *1.05If (SELECT MA(X分数) FROM grade) >BREAKELSEEND81 = 9 2,则称 81 为完 全平13. 编写代码计算并显示 n = 1+2+3+.+2014. 编写代码计算并显示 1100 之间的所有完全平方数。例如, 方数。15. 计算 1100 以内的所有的素数。16. 在 studentsdb 数据库中,使用游标查询数据。1) 打开查询分析器,声明一个 stu cursor 游标,要求返回 student info 表中
12、性别 为“男”的学生记录,且该游标允许前后滚动和修改。( 2) 打开 stu cursor 游标。(3) 获取并显示所有数据。4) 关闭该游标。17 使用游标修改数据。1)打开 stu cursor 游标。将姓马的男同学的出生日期的年份加 1 。因为说什么局部变量不能是 text 变量,然后为了做这题,我就把备注数据类型改成 varchar(50) 了才做的这题3) 关闭 stu cursor 。18. 声明游标变量 stu c ,使之关联 stu cursor 游标,利用 stu c 查询年龄在 69 月份出生的学生信息。19 使用系统存储过程 sp cursor list 显示在当前作用域
13、内的游标及其属性。四、实验思考1 使用游标对数据库的表进行删除和修改等操作。UPDATE语句的格式为:UPDATE table_nameSET 列名=表达式 , nWHERE CURRENT OF cursor_nameDELETE语句的格式为:DELETE FROM table_nameWHERE CURRENT OF cursor_nameCURRENOTF cursor_name:表示当前游标指针所指的当前行数据。 CURRENOTF 只能在 UPDAT 和 DELETE语句中使用。2. 流程控制语句与其他编程语言提供的语句有何差别?不同的变成语句是不同的, 但是流程语句就是思路很清晰的那种, 可以很轻松就转换成其他 语言的流程图或者程序了。3. 区分局部变量与全局变量的不同,思考全局变量的用处。 答:不同点:局部变量的首字母为单个 ,使用 DECLAR语E句定义,仅存在于声明它的批处理、 存储过程或触发器中。处理结束后,存储在局部变量中的信息将丢失。 全局变量由系统定 义并维护,通过在名称前加 符号区别于局部变量, 通常被服务器用来跟踪服务器范围和特 定会话期间的信息,不能显示的赋值或声明。全局变量不能由用户定义, 也不能被应用程序用来在处理器之间交叉传
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《全球定位系统的应用》自主学案
- 2026年一级建造师考试工程经济与成本管理应用型试题集
- 2026年全民阅读活动主题阅读理解试题
- 糖尿病诊疗指南肥胖症与体重管理2026
- 2026年医疗大数据分析师考试题库疾病预测与治疗支持系统
- 2026年苯乙烯基吡啶采购保密意向合同三篇
- 2026年环保工程师大气污染治理技术模拟题
- 2026年电气工程专业知识模拟试题
- 2026年高阶数据分析及业务理解能力测试题
- 2026年数据驱动的决策分析L3解决方案考试题目
- 供应室护士长年底工作总结
- 英国汽车工业市场分析现状供需格局投资前景未来规划研究报告
- 血液净化中心护士长2025年度述职报告
- 人格特质课件
- 八上物理光学试卷及答案
- 2026年杨凌职业技术学院单招职业技能测试题库及参考答案详解
- 2025年中国医美童颜针产业发展研究报告
- 眼科医疗风险防范培训
- 2025至2030老年手机行业产业运行态势及投资规划深度研究报告
- 违禁物品X射线图像与识别课件
- 2025年新疆中考道德与法治试卷(含答案)
评论
0/150
提交评论