实验7数据库的Transact-SQL程序设计.doc

上传人:李司机 文档编号:1180500 上传时间:2022-07-14 格式:DOC 页数:17 大小:726.50KB
返回 下载 相关 举报
实验7数据库的Transact-SQL程序设计.doc_第1页
第1页 / 共17页
实验7数据库的Transact-SQL程序设计.doc_第2页
第2页 / 共17页
实验7数据库的Transact-SQL程序设计.doc_第3页
第3页 / 共17页
实验7数据库的Transact-SQL程序设计.doc_第4页
第4页 / 共17页
实验7数据库的Transact-SQL程序设计.doc_第5页
第5页 / 共17页
点击查看更多>>
资源描述

《实验7数据库的Transact-SQL程序设计.doc》由会员分享,可在线阅读,更多相关《实验7数据库的Transact-SQL程序设计.doc(17页珍藏版)》请在三一办公上搜索。

1、学 生 实 验 报 告 册实验课程名称:数据库技术与应用实验工程名称:Transact-SQL程序设计实验类型打:根底、综合、 设计 实验预习报告容原那么上应包含实验目的、实验所用主要仪器药品、实验原理与公式、实验预习疑问等工程。一、实验目的1、掌握Transact-SQL的数据类型、常量变量、表达式等的概念和使用方法。2、掌握程序中注释的根本概念和使用方法。3、掌握程序中的流程控制语句的使用方法。4、掌握SQL Server 2005中常用函数的用法。5、掌握游标的概念和声明方法,以及使用游标进展数据的查询、修改、删除操作等。二、实验准备1、了解程序中注释的语法格式。2、了解程序中的流程控制

2、语句:IF ELSE、CASE、WHILE等流程控制语句。3、了解系统提供的常用数学函数、日期和时间函数、字符串函数和数据类型转换函数的用法。4、了解函数的使用方法。5、了解游标的使用方法。三、实验容1、完成上机实验指导中的实验7,并答复实验中的实验思考。具体实验要求看上机实验指导书的1922页。选做实验预习评分:二、实验原始数据记录 实验时间:2013年12月3日星期 二 第 五六 节如有实验数据表格,学生在实验预习时应画好实验数据表格,供实验时填写数据本页如不够,可另附一样规格的纸。指导教师批阅及签名 签名: 年 月 日 实验同组人:三、实验报告容 2013年 12月 4日实验报告容原那么

3、上应包含主要实验步骤、实验数据计算实验操作结果、实验结果疑问分析等工程。实施容:一、根据实验要求完成实验:写明步骤和截图0.创立studentsdb数据库及其相应表,并录入数据。 启动查询分析器,运行下面的代码即可。创立数据库代码1.在查询分析器中,选择studentsdb 数据库,输入以下代码。DECLAREstunamevarchar10SELECTstuname=FORM studentinfo WHERE LIKE%SELECTstuname观察显示的结果,与studentinfo表中数据进展比拟,stuname赋值的是SELECT结 果集中的哪个数据赋值的是结果集中的姓的数据2.定义

4、int型局部变量grademax、grademin、gradesum,在grade表中查找最 高分、最低分和总分,分别赋给grademax、grademin和gradesum,并显示。DECLAREgrademax int,gradesum,intSELECTgrademax =max分数,grademin=min分数,gradesum=sum分数FROM gradeSELECTgrademax ,grademin,gradesum3.使用SET命令将查询的结果数目赋值给int型局部变量row。给下面代码中的划 线处填上适当的容,以完成上述操作。DECLARErow SET=SELECTCOU

5、NT*FROM graderows显示rows 的值4.以下代码在curriculum表中插入新纪录:DECLAREintCIdint,intErrorCodeintINSERTINTOcurriculum课程编号,课程名称,学分VALUES0006,VB程序设计,2SELECTintCId=identity,intErrorCode=errorSELECTintCId,intErrorCode将该代码段连续执行两次,观察两次显示的信息及curriculum表中数据的变化,为什么 前后两次执行时显示的信息会不同?两次显示的结果都是一样呀,网上的答案也是这样的,更不清楚为什么要问为什么两次执 行

6、时显示的信息会不同。因为我不小心执行了四次,所以就出现了四个VB估计是不是考的主键的唯一性?不能重 复插入?但估计是之前的代码疏忽了设置主键?5.在studentsdb 数据库的studentinfo表中,以性别为分组条件,分别统计男生和 女生人数。6.在grade表中,使用适当函数找出高等数学课程的最高分、最低分和平均分。结果检验无误7.定义一个datetime型局部变量student,以存储当前日期。计算studentinfo表 中的学生的年龄,并显示学生的、年龄。在以下代码的划线局部填入适当容,以实现 上述功能。DECLAREdatetimeSETstudent= 给student赋值为

7、当前日期 SELECT,student-year出生日期AS年龄 FROM studentinfo8.运行以下代码,写出运行结果。DECLAREaint,b intSETa=168SETb =73SELECTa&b,a|b ,ab9. 在局部变量stuid中存储了学号值。编写代码查询学号为0001 的学生的各科平 均成绩,如果平均分=60 那么显示你的成绩及格了,恭喜你!,否那么显示你的成绩不及 格。IF(SELECTAVG(分数)FROM gradewhere学号=0001)60) PRINT你的成绩不及格ELSEPRINT你的成绩及格了,恭喜你!10. 运行以下代码段,写出运行的结果。DE

8、CLAREcounterintSETcounter=1WHILEcounter=90 THEN 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

9、,那么称81 为完 全平方数。15. 计算1100 以的所有的素数。16. 在studentsdb 数据库中,使用游标查询数据。1翻开查询分析器,声明一个stucursor游标,要求返回studentinfo表中性别 为男的学生记录,且该游标允许前后滚动和修改。2翻开stucursor游标。3获取并显示所有数据。4关闭该游标。17使用游标修改数据。1 翻开stucursor游标。2 将姓马的男同学的出生日期的年份加1。因为说什么局部变量不能是text 变量,然后为了做这题,我就把备注数据类型改成varchar(50)了才做的这题3 关闭stucursor。18. 声明游标变量stuc,使之关联

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

11、TE语句中使用。2. 流程控制语句与其他编程语言提供的语句有何差异?不同的变成语句是不同的,但是流程语句就是思路很清晰的那种,可以很轻松就转换成其他语言的流程图或者程序了。3. 区分局部变量与全局变量的不同,思考全局变量的用处。答:不同点:局部变量的首字母为单个,使用DECLARE语句定义,仅存在于声明它的批处理、存储过程或触发器中。处理完毕后,存储在局部变量中的信息将丧失。 全局变量由系统定义并维护,通过在名称前加符号区别于局部变量,通常被效劳器用来跟踪效劳器围和特定会话期间的信息,不能显示的赋值或声明。全局变量不能由用户定义,也不能被应用程序用来在处理器之间穿插传递信息。全局变量的作用,全局变量通常存储一些SQL Server的配置设定值和统计数据。用户可以在程序中用全局变量来测试系统的设定值或者是Transact-SQL命令执行后的状态值。实验报告评分:注:1、如个别实验的实验报告容多,实验报告册页面不够写,或有识图、画图要求的,学生应根据实验指导教师要求另附一样规格的纸并粘贴在相应的实验报告册中。 2、实验报告册属教学运行材料,院系中心应按有关规定归档保管。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号