您好,欢迎来到九壹网。
搜索
您的当前位置:首页实验数据库的TransactSQL程序的设计说明

实验数据库的TransactSQL程序的设计说明

来源:九壹网
 . -

XX学院

学 生 实 验 报 告 册

实验课程名称:数据库技术与应用 实验项目名称:Transact-SQL程序设计 实验类型(打√):(基础

☑、综合、 设计 )

院系: 教育学院 专业班级: 11教育技术学 XX: 学号:

指导老师: 林育曼

. - 优质文档-

XX学院教务处编制

一、实验预习报告内容

预习日期: 2013年 11 月 30日 实验预习报告内容原则上应包含实验目的、实验所用主要仪器药品、实验原理与公式、 实验预习疑问等项目。 一、实验目的 1、掌握Transact-SQL的数据类型、常量变量、表达式等的概念和使用方法。 2、掌握程序中注释的基本概念和使用方法。 3、掌握程序中的流程控制语句的使用方法。 4、掌握SQL Server 2005中常用函数的用法。 5、掌握游标的概念和声明方法,以及使用游标进行数据的查询、修改、删除操作等。 二、实验准备 1、了解程序中注释的语法格式。 2、了解程序中的流程控制语句:IF ELSE、CASE、WHILE等流程控制语句。 3、了解系统提供的常用数学函数、日期和时间函数、字符串函数和数据类型转换函数的用法。 4、了解函数的使用方法。 5、了解游标的使用方法。 三、实验内容 1、完成上机实验指导中的实验7,并回答实验中的实验思考。 具体实验要求看上机实验指导书的19~22页。(选做) 实验预习评分: 二、实验原始(数据)记录

实验时间:2013年12月3日(星期 二 第 五六 节)

如有实验数据表格,学生在实验预习时应画好实验数据表格,供实验时填写数据(本页如 不够,可另附相同规格的纸X)。 实验同组人:

三、实验报告内容

2013年 12月 4日 实验报告内容原则上应包含主要实验步骤、实验数据计算(实验操作)结果、实验结果 (疑问)分析等项目。 实施内容: 一、根据实验要求完成实验:(写明步骤和截图) 0. 创建studentsdb数据库及其相应表,并录入数据。 启动查询分析器,运行下面的代码即可。 创建数据库代码 1. 在查询分析器中,选择studentsdb 数据库,输入以下代码。 DECLAREstunamevarchar(10) SELECTstuname=XX FORM studentinfo WHERE XXLIKE‘X%’SELECTstuname 观察显示的结果,与studentinfo表中数据进行比较,stuname赋值的是SELECT结 果集中的哪个数据 赋值的是结果集中的姓X的数据 2. 定义int型局部变量grademax、grademin、gradesum,在grade表中查找最 高分、最低分和总分,分别赋给grademax、grademin和gradesum,并显示。 DECLAREgrademax int,gradesum,int SELECTgrademax =max(分数),grademin=min(分数),gradesum=sum(分数) FROM grade SELECTgrademax ,grademin,gradesum 3. 使用SET命令将查询的结果数目赋值给int型局部变量row。给下面代码中的划 线处填上适当的内容,以完成上述操作。 DECLARErow SET=(SELECTCOUNT(*)FROM grade) rows —显示rows 的值 4. 以下代码在curriculum表中插入新纪录: DECLAREintCIdint,intErrorCodeint INSERTINTOcurriculum(课程编号,课程名称,学分) VALUES(’0006’,’VB程序设计’,2) SELECTintCId=identity,intErrorCode=error SELECTintCId,intErrorCode 将该代码段连续执行两次,观察两次显示的信息及curriculum表中数据的变化,为什么 前后两次执行时显示的信息会不同? 两次显示的结果都是一样呀,网上的答案也是这样的,更不清楚为什么要问为什么两次执 行时显示的信息会不同。

因为我不小心执行了四次,所以就出现了四个VB(估计是不是考的主键的唯一性?不能重 复插入?但估计是之前的代码疏忽了设置主键?) 5. 在studentsdb 数据库的studentinfo表中,以“性别”为分组条件,分别统计男生和 女生人数。 6. 在grade表中,使用适当函数找出“高等数学”课程的最高分、最低分和平均分。 结果检验无误 7. 定义一个datetime型局部变量student,以存储当前日期。计算studentinfo表 中的学生的年龄,并显示学生的XX、年龄。在以下代码的划线部分填入适当内容,以实现 上述功能。 DECLAREdatetime SETstudent= —给student赋值为当前日期 SELECTXX,(student)-year(出生日期)AS年龄 FROM studentinfo 8. 运行以下代码,写出运行结果。 DECLAREaint,b int SETa=168 SETb =73 SELECTa&b,a|b ,a^b 9. 在局部变量stuid中存储了学号值。编写代码查询学号为0001 的学生的各科平 均成绩,如果平均分>=60 则显示“你的成绩及格了,恭喜你!!”,否则显示“你的成绩不及 格”。 IF((SELECTAVG(分数)FROM gradewhere学号=‘0001’)<60) PRINT‘你的成绩不及格’ ELSE PRINT‘你的成绩及格了,恭喜你!!’ 10. 运行以下代码段,写出运行的结果。 DECLAREcounterint SETcounter=1 WHILEcounter<10 BEGIN SELECT‘counter的值现在为:’+CONVERT(CHAR(2),counter) SETcounter=counter+1 END 11. 查询grade表。如果分数大于等于90,显示A;如果分数大于等于80小于90,显 示B;如果分数大于等于70 小于80,显示C;如果分数大于等于60小于70,显示D;其 他显示E。在以下代码的划线部分填入适当内容完成上述功能 SELECT学号,分数,等级= CASE 分数>=90 THEN ‘A’ WHEN分数>=80 AND 分数<90‘B’WHEN分数>=70 AND 分数<80 THEN ‘C’WHEN分数>=60 AND 分数<70 THEN ELSE ‘E’ END FROM grade 12. 计算grade表的分数列的平均值。如果小于80,则分数增加其值的5%;如果分数 的最高值超过95,则终止该操作。在以下代码划线处填入适当的内容以完成上述功能。 WHILE (SELECT(分数)FROM grade)<80 BEGIN UPDATEgrade SET分数= 分数*1.05 If(SELECTMAX(分数)FROM grade)>BREAK ELSE END 13. 编写代码计算并显示n=1+2+3+...+20。 14. 编写代码计算并显示1~100 之间的所有完全平方数。例如,81 =92,则称81 为完 全平方数。 15. 计算1~100 以内的所有的素数。 16. 在studentsdb 数据库中,使用游标查询数据。 (1) 打开查询分析器,声明一个stucursor游标,要求返回studentinfo表中性别 为“男”的学生记录,且该游标允许前后滚动和修改。 (2) (3) 打开stucursor游标。 获取并显示所有数据。 (4) 关闭该游标。 17.使用游标修改数据。 (1) 打开stucursor游标。 (2) 将姓马的男同学的出生日期的年份加1。 因为说什么局部变量不能是text 变量,然后为了做这题,我就把备注数据类型改成 varchar(50)了才做的这题 (3) 关闭stucursor。 18. 声明游标变量stuc,使之关联stucursor游标,利用stuc查询年龄在6~9 月份出生的学生信息。 19.使用系统存储过程spcursorlist显示在当前作用域内的游标及其属性。 四、实验思考 1. 使用游标对数据库的表进行删除和修改等操作。 UPDATE语句的格式为: UPDATE table_name SET {列名=表达式}[,…n] WHERE CURRENT OF cursor_name DELETE语句的格式为: DELETE FROM table_name WHERE CURRENT OF cursor_name CURRENT OF cursor_name:表示当前游标指针所指的当前行数据。CURRENT OF 只能在UPDATE和DELETE语句中使用。 2. 流程控制语句与其他编程语言提供的语句有何差别? 不同的变成语句是不同的,但是流程语句就是思路很清晰的那种,可以很轻松就转换成其他语言的流程图或者程序了。 3. 区分局部变量与全局变量的不同,思考全局变量的用处。 答:不同点:局部变量的首字母为单个,使用DECLARE语句定义,仅存在于声明它的批处理、存储过程或触发器中。处理结束后,存储在局部变量中的信息将丢失。 全局变量由系统定义并维护,通过在名称前加符号区别于局部变量,通常被服务器用来跟踪服务器X围和特定会话期间的信息,不能显示的赋值或声明。 全局变量不能由用户定义,也不能被应用程序用来在处理器之间交叉传递信息。全局变量的作用,全局变量通常存储一些SQL Server的配置设定值和统计数据。用户可以在程序中用全局变量来测试系统的设定值或者是Transact-SQL命令执行后的状态值。 实验报告评分: 注:1、如个别实验的实验报告内容多,实验报告册页面不够写,或有识图、画图要求的,学生应根据实验指导老师要求另附相同规格的纸X并粘贴在相应的“实验报告册”中。 2、实验报告册属教行材料,院系(中心)应按有关规定归档保管。

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- 91gzw.com 版权所有 湘ICP备2023023988号-2

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务