收藏 分销(赏)

实验七Transact和游标实验.doc

上传人:pc****0 文档编号:7773133 上传时间:2025-01-16 格式:DOC 页数:9 大小:307.56KB 下载积分:10 金币
下载 相关 举报
实验七Transact和游标实验.doc_第1页
第1页 / 共9页
实验七Transact和游标实验.doc_第2页
第2页 / 共9页


点击查看更多>>
资源描述
实验七 Transact-SQL程序设计 1.实验目的 (1) 掌握Transact-SQL的数据类型、常量变量、表达式等的概念和使用方法。 (2) 掌握程序中注释的基本概念和使用方法。 (3) 掌握程序中的流程控制语句的使用方法。 (4) 掌握SQL Server 2005中常用函数的用法。 (5) 掌握游标的概念和声明方法,以及使用游标进行数据的查询、修改、删除操作等。 2.实验内容 (1) 选择student_db数据库,输入以下T-SQL代码。 DECLARE @stu_name varchar(10) SELECT @stu_name=姓名 FROM student_info WHERE 姓名 LIKE '张%' SELECT @stu_name 观察显示的结果,与student_info表中数据进行比较,@stu_name赋值的是SELECT结果集中的哪个数据? @stu_name的赋值是学生表中姓张的学生的名字 (2) 定义int型局部变量@grademax、@grademin、@gradesum,在grade表中查找最高分、最低分和总分,分别赋给@grademax、@grademin和@gradesum,并显示。 (3) 使用SET命令将某个查询结果集记录数目赋值给int型局部变量@row。 (4) 以下代码在curriculum表中插入新记录: DECLARE @intCId int,@intErrorCode int INSERT INTO curriculum(课程编号,课程名称,学分) VALUES('0006','VB程序设计',2) SELECT @intCId=@@identity,@intErrorCode=@@error SELECT @intCId,@intErrorCode 将该代码段连续执行两次,观察两次显示的信息及curriculum表中数据的变化,为什么前后两次执行时显示的信息会不同? (5) 在student_db数据库的student_info表中,以“性别”为分组条件,分别统计男生和女生人数。 (6) 在grade表中,使用适当函数找出“高等数学”课程的最高分、最低分和平均分。 (7) 定义一个datetime型局部变量@studate,以存储当前日期。计算student_info表中的学生的年龄,并显示学生的姓名、年龄。 (8) 运行以下代码,写出运行结果。 DECLARE @a int,@b int SET @a=168 SET @b=73 SELECT @a & @b,@a|@b,@a^@b (9) 在局部变量@stu_id中存储了学号值。编写代码查询学号为0001的学生的各科平均成绩,如果平均分³60,则显示“你的成绩及格了,恭贺你 !!”,否则显示“你的成绩不及格”。 (10) 运行以下代码段,写出运行的结果。 DECLARE @counter int SET @counter=1 WHILE @counter<10 BEGIN SELECT '@counter的值现在为: '+CONVERT(CHAR(2),@counter) SET @counter=@counter+1 END (11) 查询grade表。如果分数大于等于90,显示A; 如果分数大于等于80小于90,显示B;如果分数大于等于70小于80,显示C;如果分数大于等于60小于70,显示D; 其他显示E。 (12) 计算grade表的分数列的平均值。如果小于80,则分数增加其值的5%;如果分数的最高值超过95,则终止该操作。 (13) 在student_db数据库中,使用游标查询数据。 ① 声明一个stu_cursor游标,要求返回student_info表中性别为“男”的学生记录,且该游标允许前后滚动和修改。 ② 打开stu_cursor游标。 ③ 获取并显示所有数据。 ④ 关闭该游标。 (14) 使用游标修改数据。 ① 打开stu_cursor游标。 ② 将姓马的男同学的出生日期的年份加1。 ③ 关闭stu_cursor游标。 (15) 声明游标变量@stu_c,使之关联stu_cursor游标,利用@stu_c查询年龄在6~9月份出生的学生信息。 (16) 使用系统存储过程sp_cursor_list显示在当前作用域内的游标及其属性。 3.实验思考 (1) Transact-SQL语言的运算符主要有哪些? 答:主要有以下六大类:算术运算符、赋值运算符、位运算符、比较运算符、逻辑运算符以及字符运算符。 (2) 流程控制语句与其他编程语言提供的语句有何差别? 答:流程控制语句是指那些用来控制程序执行和流程分支的命令,在SQL SERVER 2000 中,流程控制语句主要用来控制SQL语句、语句块或者存储过程的执行流程。 (3) 区分局部变量与全局变量的不同,思考全局变量的用处。 答:不同点:局部变量的首字母为单个@,使用DECLARE语句定义,仅存在于声明它的批处理,存储过程或触发器中,处理结束后,存储在局部变量中的信息将丢失。全局变量由系统定义并维护,通过在名称前加@@符号区别于局部变量,通常被服务器用来跟踪服务器范围和特定会话期间的信息,不能显示的赋值或声明。全局变量不能由用户定义,也不能被应用程序用来在处理器之间交叉传递信息。 全局变量的作用:全局变量通常存储一些SQL SERVER的配置设定值和统计数据。用户可以在程序中用全局变量来测试系统的设定值或是Transact-SQL命令执行后的状态值。 (4) 什么函数能将字符串前和尾的空格去掉? 答:有三个函数:ltrim(),rtrim(),trim() (5) 使用什么语句可以打开游标?打开成功后,游标指针指向结果集的什么位置? 答:使用OPEN cursor_name语句打开游标。当游标打开成功后,游标指针指向结果集的第一行。 - 9 -
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 百科休闲 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服