实验7 数据库的transact-sql程序设计

上传人:suns****4568 文档编号:94784391 上传时间:2019-08-11 格式:DOC 页数:17 大小:821.13KB
返回 下载 相关 举报
实验7 数据库的transact-sql程序设计_第1页
第1页 / 共17页
实验7 数据库的transact-sql程序设计_第2页
第2页 / 共17页
实验7 数据库的transact-sql程序设计_第3页
第3页 / 共17页
实验7 数据库的transact-sql程序设计_第4页
第4页 / 共17页
实验7 数据库的transact-sql程序设计_第5页
第5页 / 共17页
点击查看更多>>
资源描述

《实验7 数据库的transact-sql程序设计》由会员分享,可在线阅读,更多相关《实验7 数据库的transact-sql程序设计(17页珍藏版)》请在金锄头文库上搜索。

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 name varchar(10)SELECTs

4、tu name=姓名 FORM student info WHERE 姓名 LIKE 张% SELECTstu name观察显示的结果,与 student info 表中数据进行比较,stu name 赋值的是 SELECT 结 果集中的哪个数据赋值的是结果集中的姓张的数据2.定义 int 型局部变量grademax、grademin、gradesum,在 grade 表中查找最 高分、最低分和总分,分别赋给grademax、grademin 和gradesum,并显示。DECLAREgrademax int,gradesum,intSELECTgrademax = max(分数),grade

5、min = min(分数),gradesum = sum(分数)FROM gradeSELECT grademax ,grademin,gradesum3.使用 SET 命令将查询的结果数目赋值给 int 型局部变量row。给下面代码中的划 线处填上适当的内容,以完成上述操作。DECLARErow SET =(SELECT COUNT(*)FROM grade) rows显示rows 的值4.以下代码在 curriculum 表中插入新纪录:DECLARE intCId int,intErrorCode intINSERT INTO curriculum(课程编号,课程名称,学分)VALUES

6、(0006,VB 程序设计,2)SELECTintCId = identity,intErrorCode = errorSELECTintCId, intErrorCode将该代码段连续执行两次,观察两次显示的信息及 curriculum 表中数据的变化,为什么 前后两次执行时显示的信息会不同?两次显示的结果都是一样呀,网上的答案也是这样的,更不清楚为什么要问为什么两次执 行时显示的信息会不同。因为我不小心执行了四次,所以就出现了四个 VB(估计是不是考的主键的唯一性?不能重 复插入?但估计是之前的代码疏忽了设置主键?)5.在 studentsdb 数据库的 student info 表中,以

7、“性别”为分组条件,分别统计男生和 女生人数。6.在 grade 表中,使用适当函数找出“高等数学”课程的最高分、最低分和平均分。结果检验无误7.定义一个 datetime 型局部变量student,以存储当前日期。计算 student info 表 中的学生的年龄,并显示学生的姓名、年龄。在以下代码的划线部分填入适当内容,以实现 上述功能。DECLARE datetimeSETstudent = 给student 赋值为当前日期 SELECT 姓名, (student)-year(出生日期)AS 年龄 FROM student info8.运行以下代码,写出运行结果。DECLARE a in

8、t , b intSET a =168SET b = 73SELECT a & b,a| b ,ab9. 在局部变量stu id 中存储了学号值。编写代码查询学号为 0001 的学生的各科平 均成绩,如果平均分=60 则显示“你的成绩及格了,恭喜你!”,否则显示“你的成绩不及 格”。IF (SELECT AVG(分数) FROM grade where 学号 = 0001)60) PRINT 你的成绩不及格ELSEPRINT 你的成绩及格了,恭喜你!10. 运行以下代码段,写出运行的结果。DECLARE counter intSET counter = 1WHILE counter =90 T

9、HEN AWHEN 分数=80 AND 分数=70 AND 分数=60 AND 分数70 THEN ELSE EENDFROM grade12. 计算 grade 表的分数列的平均值。如果小于 80,则分数增加其值的 5%;如果分数 的最高值超过 95,则终止该操作。在以下代码划线处填入适当的内容以完成上述功能。WHILE (SELECT (分数)FROM grade) BREAKELSEEND13. 编写代码计算并显示 n = 1+2+3+.+20。14. 编写代码计算并显示 1100 之间的所有完全平方数。例如,81 = 92,则称 81 为完 全平方数。15. 计算 1100 以内的所有

10、的素数。16. 在 studentsdb 数据库中,使用游标查询数据。(1)打开查询分析器,声明一个 stu cursor 游标,要求返回 student info 表中性别 为“男”的学生记录,且该游标允许前后滚动和修改。(2)打开 stu cursor 游标。(3)获取并显示所有数据。(4)关闭该游标。17 使用游标修改数据。(1) 打开 stu cursor 游标。(2) 将姓马的男同学的出生日期的年份加 1。因为说什么局部变量不能是 text 变量,然后为了做这题,我就把备注数据类型改成varchar(50)了才做的这题(3) 关闭 stu cursor。18. 声明游标变量stu c

11、,使之关联 stu cursor 游标,利用 stu c 查询年龄在 69月份出生的学生信息。19 使用系统存储过程 sp cursor list 显示在当前作用域内的游标及其属性。四、实验思考1 使用游标对数据库的表进行删除和修改等操作。UPDATE语句的格式为:UPDATE table_nameSET 列名=表达式,nWHERE CURRENT OF cursor_nameDELETE语句的格式为:DELETE FROM table_nameWHERE CURRENT OF cursor_nameCURRENT OF cursor_name:表示当前游标指针所指的当前行数据。CURRENT

12、 OF 只能在UPDATE和DELETE语句中使用。2. 流程控制语句与其他编程语言提供的语句有何差别?不同的变成语句是不同的,但是流程语句就是思路很清晰的那种,可以很轻松就转换成其他语言的流程图或者程序了。3. 区分局部变量与全局变量的不同,思考全局变量的用处。答:不同点:局部变量的首字母为单个,使用DECLARE语句定义,仅存在于声明它的批处理、存储过程或触发器中。处理结束后,存储在局部变量中的信息将丢失。 全局变量由系统定义并维护,通过在名称前加符号区别于局部变量,通常被服务器用来跟踪服务器范围和特定会话期间的信息,不能显示的赋值或声明。全局变量不能由用户定义,也不能被应用程序用来在处理器之间交叉传递信息。全局变量的

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号