SQLA摸底测试题答案

发布时间 : 星期三 文章SQLA摸底测试题答案更新完毕开始阅读

21)下面存储过程的优点有(ABCD)(多选) a)允许模块化程序设计 b)执行速度更快 c)减少网络流量

d)可以作为安全机制使用

22)下面关于存储过程参数的说法不正确的是(D) a)存储过程的参数默认是输入参数

b)存储过程的输入参数可以给它指定一个默认的值则在调用的时候可以不为这个参数赋值。

c)调用存储过程中一定要为没有默认值的输入参数传入值。 d)输出参数只需要在定义存储过程中使用OUTPUT关键字,在调用时不需要为输出参数标记OUTPUT

23)下面关于系统存储过程sp_helptext说法正确的是(A) a)能根据存储过程名字显示相应的定义存储过程的文本信息 b)显示如何操作数据库的帮助 c)显示出数据库的帮助文本 d)用于查看表的约束信息

24)下面关于存储过程和函数说法错误的是(AD)(选择两项)

a)存储过程不可以使用return 返回值,是通过output参数来返回值 b)存储过程和函数都是预编译的,执行效率高 c)函数定义的使用可以有参数

d)函数定义的时候必须要指定其返回类型,而存储过程不需要指定输出参数的类型

25)SQL SERVER的默认事务模式是(c) a) 显式事务模式 b) 隐性事务模式 c) 自动提交事务模式 d) 组合事务模式

26)创建同义词的语法是(c) a)create word b)create table c)create synonym d)create database

27)下面关于视图的说法正确的是(a)

a) 视图中不存放数据,视图中的数据来源于创建视图的基表中 b) 不能使用delete对视图做删除操作 c) 不能使用insert和update来修改视图

d) 视图中显示的数据不会跟随基表中的数据不断发生变化

28)下面那些索引总要对数据进行排序(a) a)聚集索引 b)非聚集索引 c)唯一索引 d)组合索引

29)对数据库的修改必须遵循的规则:要么成功,要么失败。这点可以体现事务的(b)特征 a)持久性 b)原子性 c)隔离性 d)一致性

30)打开隐式事务连接选项的命令是(a) a) Set implicit_transactions on b) Set implicit_transactions off c) Set statistics_io on d) Set statistics_io off

二、编程题(共40分)

1、请写代码实现使用游标提取score表中所有记录? 参考答案:

declare my_cursor cursor scroll for select * from score open my_cursor

fetch first from my_cursor while(@@FETCH_STATUS=0) begin

fetch next from my_cursor end

close my_cursor

deallocate my_cursor

2、不管在B/S还是在C/S编程中,若显示的记录条数太多,在一页同时显示所有数据不太方便,我们经常要对显示出来的数据进行分页显示(如:百度、搜狐等网站),而要进行分页,我们需要在每一页显示相等的记录数(如5条),下面有一个表studinfo,我们可以利用以前学过的T-SQL及子查询相关技术实现模拟分页显示,假设每页定义显示5条记录,请用子查询语句实现显示第9页数据的功能。

表studinfo结构如下: studId(学员编号) 主键 studName(学员姓名) studSex(学员性别)

studDep(学员专业) studAddr(学员住址)

参考答案:

--用子查询查出每页显示第九页记录条数的结果集 Declare @pagesize int=5 Declare @pageindex int=9

Select top (@pagesize) * from studinfo where studId not in (select top ((@pageindex-1)*@pagesize) studId from studinfo)

3.创建一个视图,查询student表中age列值>=18的记录,请写出完整的语法并包括存在性检测

参考答案:

If exists (select * from sysobjects where name=’vw_demo’) Drop view vw_demo Go

Create view vw_demo As

Select * from student where age>=18 Go

4、有一张数据表(stuinfo)如下 StuName(varchar) Score(smallInt) CourseName 张浩 84 Java 李四 75 Scharp 王五 89 Java 李坤 100 Java 定义一个函数(getMaxScoreNameByCourse),根据课程名查找出该课程最高分的学生姓名(不考虑最高分有相同分数,这个留给各位学员下去后完成)。

参考答案:

If exists (select * from sysobjects where name = ’ getMaxScoreNameByCourse ’)

Drop view getMaxScoreNameByCourse Go

create function getMaxScoreNameByCourse(@course varchar(20)) returns varcahr(30) as begin

declare @name varchar(30)

select top 1 @name=stuname from stuinfo where coursename=@course order by score desc return @name

end

选择题答案汇总表

1 2 3 4 5 D 6 C 7 C 8 AD 9 BC 10 A 11 A 12 C 13 D 14 A 15 C 16 A 17 B 18 A 19 AD 20 BD 21 B 22 C 23 AC 24 BC 25 ABCD 26 D 27 A 28 AD 29 C 30 C

A A B A

联系合同范文客服:xxxxx#qq.com(#替换为@)