SQLSERVER内部测试
一. 选择题
1.sql server 2005中,()关键字标志着批处理的结束。(选择一项) A. end
B. go
C. finish D. print
2 .sql server 2005中,使用t-sql编程时,下列()语句可以从while语句块中退出。(选择一项)
A. continue B. exit C. break D. close
3.sql server2000中,使用t_sql编程时,对变量赋值可以使用()或()语句。(选择一项)
A. set select B. print select C. set make D. print set
4.sql server2005中,要对用户表(user)建立一个约束,保证注册日期(registerdata)默认使用系统当前日期,下面语句正确的是()。(选择一项)
A. alter table user add constraint ck_date check(registerdate=getdate()) B. alter table user add constraint df_date default(getdate())
C. alter table user add constraint df_date default(getdate()) for registerdate D. alter table user add constraint df_date default(registerdate=getdate())
5.在sqlserver 2005的中,给定创建视图的代码如下: create view abcd___select*from sales where qty>90 则下划线处应填写的正确关键字为()。 (选择一项)
A. on B. as C. alter D. for
6.在sqlserver 2005中,对存储过程的描述中正确的是()。 (选择一项) A. 定义了一个有相关列和行的集合 表
B. 它根据一列或多列的值,提供对数据库表的行的快速访问 索引
C. 当用户修改数据时,一种特殊形式的存储过程被自动执行 触发器 D. sql语句的预编译集合
7.sqlserver2000中,创建存在储过程的片断如下:创建成功后,以下()调用方式是正确的。 (选择一项)
create procedure proc_score @passed int=60, @count int output as
select @count=count(*) from score where score<@passed
A. execute proc_score@count int output
B. declare @count int execute proc_score 70,@count output C. declare @count int output execute proc_score70,@count t D. execute proc_score@passed=70,@count output
8.在sql server查询分析器中运行t-sql语句: select @@identity
其输出值( )。(选择一项) A. A. 可能为0.1 B. B. 可能为3
C. C. 肯定为0
D. D. 不可能为-100
9.在sql server2005中,以下()是t-sql语句的注释符号。(选择一项)
A. // B. -- C. /// D. *
10.sql server 2005中,在存储过程中,()语句用来向用户报告错误,并可指定严重级别。(选择一项)
A. print B. error
C. raiserror
D. raise
11.在sql server 2005中 ,执行以下的t-sql:
begin transaction
if exists(select title_id from titles where title_id='tc2') begin
delete titles where title_id='tc2' rollback transaction print'ok' end
若能找到title_id的tc2的记录,将()。(选择一项)
A. 删除该记录行,不打印任何信息 B. 不删除该记录行,并且打印ok C. 删除该记录行,并且打印ok
D. 不除该记录行,也不打印任何信息
12. 在sql server2000中,根据以下表设计的代码,判断其设计方面的问题是()。 create table member(
last_name char(20)null,
first_name varchar(30)not null, address_line1 varchar(30)null, address_line2 varchar(30)null, address2_line1 varchar(30)not null, address2_line2 char(30)null,
book_id int null) ( 选择一项)
A. 应该把所有的null修改为not null,而且把notnull修改为null B. 该表有进一步规范化的必要 C. 把book_id设为主键 D. 所以字段都应允许为空
13. 在sql server2000中,在products(产品)表,包含字段:pname(产品名称)、price(价格)。若要得到最贵产品的产品名称和产品价格,应该使用的查询语句是()。(选择一项)
A. A. select top1 pname,price from products order by price
B. B. select pname,max(price) from products
C. C. select pname,max(price) from products group by pname
D. D. select pname,price from products where price = (select max(price) from
product)
14. 在sql server2000数据库中,执行如下的sql语句,将( ). print'服务器为:'+@@servicename
A. A. 在网格窗口以网格的方式显示当前计算机上的sql服务名称 B. B. 在消息窗口以文本的方式显示当前计算机上的sql服务名称 C. C. 在网格窗口以网格的方式显示本地服务名称 D. D. 在消息窗口以文本的方式显示本地服务名称
15. 在sql server2000数据库中,关于视图的说法错误的是 ()。 A. A. 视图是一个可以虚拟的表,在物理介质上并不存在
B. B. 视图可以查看来自一个或多个表的内存
C. C. 修改了视图的数据,原始数据并不会被修改 D. D. 使用create view 来创建视图
16.sql server2000中。已知有student 表,表中共有10条status列值为0的记录。 创建试图。命令执行的结果是() create view view1 as
select * from student where status=0 视图创建成功后,执行如下命令: updata view1 set status=1; select * from view1;
A. A. 错误提示:不能对视图执行更新操作 B. B. 错误提示:不能对视图执行查询操作 C. C. 返回10条记录 D. D. 返回0条记录
17.数据库设计时,在做表规范化的时候一般规范到()就足够了。(选择一项)
A. 第一范式 B. 第三范式 C. 第四范式 D. 第五范式
18.在sql server2000中,为数据库表建立索引能够()。(选择一项)
A. B. C. D.
防止非法的删除操作 防止非法的插入操作 提高查询性能
节约数据库的磁盘空间
19.在sql server 2005中,已知student表中有一个age列,数据类型是int,如果要限制该列的取值范围在15到30之间,可以使用以下sql A. alter table student add check(age>=15 and age<=30) B. alter table student add default(age>=15 and age<=30) C. alter table student add unique (age>=15 and age<=30) D. alter table student add set (age>=15 and age<=30) 20.sql server 2005中,使用t-sql编程时,输出结果有两种方式:()或()语句。(选择一项) A. B. C. D. set select print select set make print set 21.在sql server 2005中,给定如下的t-sql: declare @abc int declare @xyz int set @abc=10 while @abc<=100 begin set @xyz= case floor(@abc/30) when 0 then @abc*5 when 1 then @abc*10 else @abc*20 end set @abc=@xyz end