Sql高级综合测试试题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
--------------------------------------装--------------------------------------订------------------------------线-----------------
**学院课程考试试卷
课程名称:《SQLServer:数据库设计和高级查询》(A)卷
年级:班级:
姓名:_______________ 学号:_________________ 考试(考查)
闭卷
1. 下列哪个SQL 语句属于DDL 语句( A )。
A. Create (DDL:create drop truncate)
B. Select (DML: insert update delete select)
C. Grant (DCL:grant rovoke )
D. Insert
2. SQL Server 2008 的BEGIN TRANS 和COMMIT
TRANS,ROOLBACK TRANS 语句可用在(BD )中来支持操
作的事务特性。【选两项】
A. Select 语句
B. 存储过程
C. 连接对象的Transaction 属性
D. 触发器
3. 在SQL Server2008数据库中,从Product表中查询出Price(价
格)高于Pname (产品名称)为“网通IP电话卡”的所有记录中
的最高价格的查询语句是( D )。
A. SELECT * FROM Product WHERE max(Price)>’网通IP电话卡’
B. SELECT * FROM Product WHERE Price>(SELECT max(*)
FROM Product WHERE Pname=’ 网通IP电话卡’)
C. SELECT * FROM Product WHERE EXISTS Pname=’网通IP电
话卡’
D. SELECT * FROM Product WHERE Price>(SELECT max
(Price)FROM Product WHERE Pname=’ 网通IP电话卡’)
中,声明一个最多可以存储10个字符的变
B )。
B. DECLARE @pwd VACHAR(10)
C. pwd VARCHAR(10)
D. @pwd VARCHAR(10)
5. 在SQL Server 2008中,已知Student表中有一个age列,数据
类型是int,如果要限制该列的取值范围在18到28之间,可以使用
以下哪个SQL语句( A )。
A. alter table Student add check(age>=18 and age<=28)
B. alter table Student add defult(age>=18 and age<=28)
C. alter table Student add unique(age>=18 and age<=28)
D. alter table Student add set(age>=18 and age<=28)
6. SQL Server 2008数据库中,创建books表的语句如下,这个创
建命令执行时出错,错误原因有(BE )。【选两项】
Cerate table books(bookid int primary key,title varchar(20) not
null,author char not null,loc int identity(1,1),depid int foreign
key,comment text(1000))
A. 定义主键的方式错误
B. 必须对Char数据类型指定列宽度(有默认长度)
C. 定义外键的方式错误
D. 定义外键列不能定义为标识列
E. 不能对text数据类型指定列宽度
7. 在SQL Server 2008中,创建存储过程如下:要在Students表中查找Age(年龄)是18岁的学生,(AB )可以正确的调用这个存储过程。【选两项】
CREATE PROCEDURE MyP1 @p Int As
SELECT Studentname,Age FROM Student WHERE Age=@p A. EXEC Myp1 18 B. EXEC Myp1 @p=18
C. EXEC Myp1 p=’18’
D. EXEC Myp1 p=18
8. 在SQLServer2008中,假设Orders表中存在自动编号字段oid 等于1的记录,执行下面T-SQL,以下说法正确的是( A )。BEGIN TRANSACTION
Delete from Orders where oid=1
If(@@Error<>0)
ROLLBACK TRANSACTION
Else
COMMIT TRANSACTION
A. 执行成功,oid为1的记录被永久删除
B. 执行成功,Orders表没有任何变化
C. 执行时出现错误
D. 执行成功,但事务处理并没有任何结束9. 在SQLServer 2008中,给定如下的T-SQL代码,以下说法正确的是( B )。
Create Procedure price_proc
(
@count int output,
@avg_price money output,
@type char(12)=’business’
)
as
Select @Count=Count(*),@avg_price=Avg(price) from titles where type=@type
A. 建立了存储过程price_proc,所有参数都是输出参数
B. 建立了存储过程price_proc,返回的是用户指定图书种类数量及平均价格
C. @count=count(*) 也可以用@count=count()代替
D. 创建存储过程失败,Select语句中使用了聚合函数,因此必须使用Group By进行分组
10. 在SQL Server 安全管理过程中,以下( C )的概念类似于WinNT 中的用户组。
A. 权限
B. 登录账户
C. 角色
D. 触发器
11. 在SQL Server 2008中,有Products(产品)表,包含字段Pname
(产品名称)、Price(价格)。若要得到最贵产品的产品名称和产品价格,应该使用的查询语句有(AD )。【选两项】
A. SELECT TOP 1 Pname,Price FROM Products ORDER BY Price