SQL复习题及答案

2026/1/27 7:21:25

SET @NUM=@NUM+1 IF ________ CONTINUE ELSE

@SUM=@SUM+@NUM END Print @SUM

(A)SET SUM=0 (B)SET @SUM=0 (C)@NUM<100 (D)@NUM>100 (E)@NUM=100 (F)@NUM%2=0 (G)@NUM MOD 2=0 (H)NUM%2=0 答案:B C H

7.下面程序的功能是统计1到100中所有3的倍数的个数,阅读程序并选择正确答案。 DECLARE @I INT,@CNT INT SET @I=0 SET ___________ WHILE ________ BEGIN

SET @I=@I+1 IF ________ CONTINUE ELSE

@CNT=@CNT+1 END Print @CNT

(A)@CNT=0 (B)CNT=0 (C)@I<100 (D)@I>100 (E)I<100 (F)@I%3=0 (G)@I MOD 3<>0 (H)I%3<>0 答案:A C H

二、填空题

1.常量是指程序运行过程中值不变的量,根据常量值的不同类型,常量可以分为字符常量、________、实型常量、日期时间型和货币型常量等,其中字符型常量必须用________括起来。 答案:整型常量、单引号

2.变量是指在程序运行过程中值发生变化的量,在SQL Server中变量分为________和________两种。

答案: 全局变量 局部变量 3.下面程序执行的结果是________。

DECLARE @C1 Char(20),@C2 Char(10),@C3 Char(6) SET @C1=? SqlServer ?

第 13 页 共 19 页

SET @C2=? 2000 ?

SET @C3=Substring(LTrim(RTrim(@C1))+LTrim(RTrim(@C2)),4,6) Print @C3 答案:Server

第七章 索引与数据完整性

一、单项选择题

1.下列关于索引描述中,______是不正确的。

(A)聚集索引是指数据行的物理存储顺序与索引顺序完全相同,每表只能有一个 (B)非聚集索引具有完全独立于数据行的结构,索引不改变表中数据行的物理存储顺序 (C)唯一索引可以确保表中数据行的唯一性

(D)聚集索引和非聚集索引原理完全相同,但聚集索引每表只能有一个,而非聚集索引

每表可以有多个 答案:A

2.在SQL Server 2000中,______可以保证表间数据的一致性。

(A)实体完整性 (B)参照完整性 (C)域完整性 (D)索引 答案:B

二、填空题

1.索引可以提高检索数据的能力和速度,SQL Server 2000的索引分为三种类型,即:________、________和唯一索引三种。 答案: 聚集索引 非聚集索引

2.在SQL Server 2000中,创建索引的Transact-SQL命令是________,而删除索引的Transact-SQL命令是________。 答案:create index drop index

3.在SQL Server 2000中,数据完整性通常是指数据的精确性和可靠性,其类型可以划分为三种,即:________、________和用户自定义完整性三种。 答案:

4.在SQL Server 2000中,参照完整性是建立在________和________之间或________和________之间的关联关系上。

答案:外关键字、主关键字、外关键字、唯一性关键字

三、简答题

1.PRIMARY KEY约束与UNIQUE约束的异同。

答:二者都能保证表中实体的完整性,但仍存在一些不同,主要表现为:

①.PRIMARY KEY约束通过为主键创建唯一性索引,强制主键列数据的唯一性,而UNIQUE约束确保在非主键列中不出现重复值。

②.PRIMARY KEY约束每表只能创建一个,而UNIQUE约束每表可以创建多个。

③.PRIMARY KEY约束的列值不允许出现空值,而UNIQUE约束的列值允许出现一个空值。

第 14 页 共 19 页

四、综合应用题

1.使用CREATE TABLE命令在创建成绩表(学号,课程号,成绩)时定义一个名为PK_KS的表级PRIMARY KEY约束,主键为属性组(学号,课程号),试写出正确的Transact-SQL语句。

答:CREATE TABLE 成绩表 ( 学号 Int,

课程号 Int, 成绩 Int,

CONSTRAINT PK_KS Primary Key(学号,课程号))

2.使用CREATE TABLE命令创建成绩表(学号,课程号,成绩)时定义一个名为Ch_Score的Check约束来限制成绩只能在[0,100]之间,试写出正确的Transact-SQL语句。 答:CREATE TABLE 成绩表 ( 学号 Int,

课程号 Int, 成绩 Int,

CONSTRAINT Ch_Score Check(成绩>=0 AND 成绩<=100))

第八章 存储过程和触发器

一、单项选择题

1.在SQL Server 2000中,用户存储过程只能定义在当前数据库中,创建存储过程的Trans-SQL语句是______。

(A)CREATE PROCEDURE (B)ALTER PROCEDURE (C)UPDATE PROCEDURE (D)DROP PROCEDURE 答案:A

2.在调用SQL Server 2000的存储过程时,若调用语句是批处理中的第一条语句,则可以省略______关键字。

(A)CALL (B)EXECUTE (C)SHELL (D)COM 答案:B

二、填空题

1.SQL Server 2000支持的存储过程包括五种类型,即:系统存储过程、________临时存储过程、远程存储过程和扩展存储过程。系统存储过程定义在________数据库中,其前缀是________。

答案:本地存储过程、Master、SP_

三、简答题

1.简述存储过程基本概念及优点。

答:存储过程是独立存在于表之外的数据库对象,由被编译在一起的一组Transact-SQL语

第 15 页 共 19 页

句组成,可以被客户调用,也可以被另一存储过程或触发器调用,并且在服务器端运行,执行速度快,安全性高。主要优点表现为:

①.在服务器端运行,执行速度快。

②.存储过程执行一次后,执行规划驻留在高速缓存,提高系统性能。 ③.确保数据库的安全。

④.自动完成需要预先执行的任务。 2.简述触发器基本概念、类型和工作方式。

答:触发器是一种特殊类型的存储过程,它不能显示地被调用,它是在指定的表中插入记录、更新记录或者删除记录时被自动激活。在SQLServer 2000中有三种类型的触发器,即:Insert触发器、Update触发器和Delete触发器。它们的工作方式如下:

①.Insert触发器:当向表中插入新记录时被触发执行。 ②.Update触发器:当更新表中记录时被触发执行。 ③.Delete触发器:当删除表中记录时被触发执行。

四、综合应用题

1.试用Transact-SQL语句创建一个简单的用户存储过程,存储过程名为STU_INFO_PRO,用于从学生信息表Stident_Info中检索家住“北京市”的学生姓名、性别和家庭住址。 答:CREATE PROCEDURE STU_INFO_PRO

AS

SELECT Student_Name,Student_Sex,Address FROM Student_Info

WHERE Substring(Address,1,3)=?北京市?

2.试用Transact-SQL语句创建一个用户存储过程,存储过程名为Query_Stu_Info,要求根据学生的学号查询出该生的姓名和住址,并返回到@Stu_Name和@Stu_Address两个输出参数变量中。

答:CREATE PROCEDURE Query_Stu_Info ( @Stu_ID Int,

@Stu_Name char(10) OUTPUT, @Stu_Address Char(30) OUTPUT)

AS

SELECT @Stu_Name=Student_Name,@Stu_Address=Address FROM Student_Info

WHERE Student_ID=@Stu_ID

3.针对Score_Info数据库表,创建一个名为Check_Score的触发器,检查插入或修改的成绩是否在[0,100]之间。

答:CREATE TRIGGER Check_Score On Score_Info

For Insert,Update As

第 16 页 共 19 页


SQL复习题及答案.doc 将本文的Word文档下载到电脑
搜索更多关于: SQL复习题及答案 的文档
相关推荐
相关阅读
× 游客快捷下载通道(下载后可以自由复制和排版)

下载本文档需要支付 10

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:xuecool-com QQ:370150219