实验7-Transact-SQL程序设计_第1页
实验7-Transact-SQL程序设计_第2页
实验7-Transact-SQL程序设计_第3页
实验7-Transact-SQL程序设计_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

实验7Transact-SQL程序设计一、实验目的掌握Transact-SQL的数据类型、常量变量、表达式等概念。掌握SQLServer2005中常用函数的用法。掌握程序中注释的根本概念和使用方法。了解程序中的流程控制语句。二、实验准备1.了解函数的使用方法。2.了解系统提供的常用数学函数、日期和时间函数、字符串函数和数据类型转换函数的用法。3.了解程序中注释的语法格式。4.了解程序中的流程控制语句:IF-ELSE、CASE、WHILE等控制流语句。三、实验内容和步骤1.在查询分析器中,选择studentsdb数据库,在学生表中查找姓“张〞的学生,并将该生姓名赋于变量@stu_name。提示:首先要定义变量@stu_name。2.定义int型局部变量@grademax、@grademin、@gradesum,在成绩表中查找课程编号是“C002〞课程的最高分、最低分和总分,分别赋给@grademax、@grademin和@gradesum,并显示。3.使用SET命令将查询结果集记录数目赋值给int型局部变量@row。给下面代码中的划线处填上适当的内容,以完成上述操作。DECLARE@rows____int_______SET_____@rows_______=(SELECTCOUNT(*)FROM成绩表)_____SELECT______@rows--显示@rows的值4.以下代码在课程表中插入新记录:DECLARE@intCIdint,@intErrorCodeintINSERTINTO课程表(课程编号,课程名称,学分)VALUES('0006','VB程序设计',2)SELECT@intCId=@@identity,@intErrorCode=@@errorSELECT@intCId,@intErrorCode将该代码段连续执行两次,观察两次显示的信息及课程表中数据的变化,为什么前后两次执行时显示的信息会不同?提示:@@identity,@@error参看教材P172表9-25.在studentsdb数据库的学生表中,以“性别〞为分组条件,分别统计男生和女生人数。提示:定义两个变量,用SET分别赋值。6.在成绩表中,使用适当函数找出“高等数学〞课程的最高分、最低分和平均分,并分别赋予@grademax、@grademin、@gradesum。7.定义一个datetime型局部变量@studate,以存储当前日期。计算学生表中的学生的年龄,并显示学生的姓名、年龄。在以下代码的划线局部填人适当内容,以实现上述功能。DECLARE___@studate____datetimeSET@studate=______GETDATE()_____--给@studate赋值为当前日期SELECT姓名,___YEAR(GETDATE())-YEAR(出生日期)______AS年龄FROM学生表提示:计算年龄可参考教材表9-9和9-10相关函数。8.请用单行注释将以下命令行所实现的功能予以注释〔填入括号内〕。〔--查找学生表中姓陈的人的姓名与家庭住址〕SELECT姓名,家庭地址FROM学生表WHERE姓名LIKE'陈%‘9.请用多行注释将以下命令行所实现的功能予以注释〔填入括号内〕。〔/*查找学生表中80后学生的姓名、性别、出生年月和家庭住址情况*/〕SELECT姓名,性别,出生年月,家庭地址FROM学生表WHEREYEAR(出生年月)>8010.在局部变量@stu_id记中存储了学号值。编写代码查询学号为0001的学生的各科平均成绩,如果平均分>=60那么显示“你的成绩及格了,恭贺你!!〞,否那么显示“你的成绩不及格〞。11.运行以下代码段,写出运行的结果。12.编写程序查询成绩表。如果分数大于等于90,显示优秀;如果分数大于等于80小于90显示良好;如果分数大于等于70小于80显示中等;如果分数大于等于60小于70显示及格,其他显示不及格。13.计算grade表的分数列的平均值。如果小于80,那么分数增加其值的5%;如果分数的最高值超过95,那么终止该操作。在以下代码划线处填入适当的内容以完成上述功能。WHILE(SELECTAVG(分数)FROM成绩表)<80BEGINUPDATE成绩表SET分数=分数*1.05IF(SELECTMAX(分数)FROM成绩表)>95BREAKELSECONTINUEEND四、实验思考1.编写代码计算并显示@n=1+2+3+…+20。代码:DECLARE@sint,@nint,@tint,@cintSET@n=0SET@s=1SET@c=1SET@t=0WHILE@s<=20BEGINSET@t=@t+@cSET@c=@c+1SET@s=@s+1ENDSET@n=@n+@tSELECT@n2.区分局部变量与全局变量的不同,思考全局变量的用处。答:局部变量使用DECLARE语句定义,仅存在于声明它的批处理、存储过程或触发器中,处理结束后,存储在局部变量中的信息将丧失。通常局部变

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论