第九章测试
1.

存储过程是一组完成特定功能的SQL语句集合,经编译后存储在数据库中,可以被多次调用。


A:对 B:错
答案:A
2.

存储过程可以有参数也可以没有参数。


A:对 B:错 3.after触发器是在激活触发器的语句执行完,相关事务提交后,才会被触发执行。
A:错 B:对 4.

update操作激活的触发器属于( )触发器。


A:DCL
B:都不是

C:DDL
D:DML 5.

激活DML触发器时,从触发器表中删除的行会自动存储到名为( )的临时表中。


A:delete
B:inserted
C:insert
D:deleted
6.

激活DML触发器时,触发器表中改后的行会自动复制到名为( )的临时表中。


A:selected
B:inserted
C:deleted
D:updated
7.

现有学生管理数据库,包含三个表,其结构如下,其中加下划线的字段或字段组合为主键。

学生表(学号,姓名,性别,出生日期,班级)

课程表(课程号,课程名,学分)

选课表(学号,课程号,成绩)

下面程序的功能是:创建一个存储过程pcd,用来计算指定课程号的课程的最高分、最低分和平均分,然后执行该存储过程求3-105号课的最高分、最低分和平均分。请将该程序补充完整。

create(1)pcd(@cn char(6))

as

select max(成绩) as 最高分, min(成绩) as 最低分, (2) as 平均分

from 选课表

where (3)

go

exec(4)


A:(4)处填:pcd  '3-105' B:(2)处填:avg(成绩) C:(3)处填:课程号=@cn D:(1)处填:proc 8.

设某单位图书借阅库中有下面三个表,其结构如下,其中加下划线的字段或字段组合是主键。

图书表(书号,书名,出版社,作者姓名,单价,总册数,未借册数) 

读者表(借书卡号,姓名,部门名,电话)

借阅表(借书卡号,书号,借书日期,应还日期)

下面语句的功能是:创建存储过程pbp,将指定书号的图书的单价改为指定的单价。请将该语句补充完整。

create(1)pbp(@sh char(20)),@dj money)

as

   update(2)set(3)where(4)


A:(2)处填:图书表 B:(3)处填:单价=@dj C:(1)处填:procedure D:(4)处填:书号=@sh 9.

现有数据库ordermanagement,包含三个表,其结构如下,其中加下划线的字段或字段组合为主键。

客户表(客户号,客户名,地址,电话)

订单表(订单号,客户号,订购日期)

订单明细表(订单号,器件号,器件名,单价,数量)

下面语句的功能是:创建一个存储过程pkh,用于查询所有客户的信息,客户信息按地址升序排。请将该语句补充完整。

CREATE (1)pkh

AS

SELECT (2)from (3)order by(4)


A:(4)处填:地址 desc
B:(2)处填:* C:(3)处填:客户表 D:(1)处填:PROCEDURE
10.

现有数据库ordermanagement,包含三个表,其结构如下,其中加下划线的字段或字段组合为主键。

客户表(客户号,客户名,地址,电话)

订单表(订单号,客户号,订购日期)

订单明细表(订单号,器件号,器件名,单价,数量)

下面语句的功能是:创建一个存储过程pksm,查询指定客户号的订购总金额,其中订购总金额为输出参数,然后调用该存储过程求“C10001”号客户的订购总金额。请将该程序补充完整。

CREATE PROCEDURE pksm(@kh char(6), @zje float output)

as

SELECT (1)

    FROM (2)

    WHERE (3)

GO

DECLARE @je float

EXECUTE (4)

SELECT @je as 'C10001号客户的订单总金额'


A:(3)处填:订单表.订单号=订单明细表.订单号 and 客户号=@kh B:(4)处填:pksm 'C10001',@je
C:(1)处填:sum(单价*数量) D:(2)处填:订单表,订单明细表 11.

设某单位图书借阅库中有下面三个表,其结构如下,其中加下划线的字段或字段组合是主键。

图书表(书号,书名,出版社,作者姓名,单价,总册数,未借册数) 

读者表(借书卡号,姓名,部门名,电话)

借阅表(借书卡号,书号,借书日期,应还日期)

下面语句的功能是:创建触发器tbk,限定每位读者最多只能借10本书。请将该语句补充完整。

create trigger tbk

on (1)

after (2)

as

begin

declare @bs int

select @bs=count(*) from 借阅表 where 借书卡号=(3)

if @bs>10

 begin

   print '借书册数不能超过10本!'

   (4)

 end

end


A:(2)处填:delete B:(1)处填:借阅表 C:(4)处填:return D:(3)处填:SELECT 借书卡号 FROM inserted 12.

设某单位图书借阅库中有下面三个表,其结构如下,其中加下划线的字段或字段组合是主键。

图书表(书号,书名,出版社,作者姓名,单价,总册数,未借册数) 

读者表(借书卡号,姓名,部门名,电话)

借阅表(借书卡号,书号,借书日期,应还日期)

下面语句的功能是:创建触发器tjs,使图书表中的未借册数随借书而改变,即当向借书表中添加一条记录表示某位读者借了一本书,图书表中该书的未借册数就减少1。请将该语句补充完整。

create trigger tjs

on(1)

after(2)

as

  update 图书表 set(3)where 书号=((4))


A:(2)处填:insert B:(4)处填:select  书号 from  deleted C:(3)处填:未借册数=未借册数-1 D:(1)处填:借书表 13.

现有学生管理数据库,包含三个表,其结构如下,其中加下划线的字段或字段组合为主键。

学生表(学号,姓名,性别,出生日期,班级)

课程表(课程号,课程名,学分)

选课表(学号,课程号,成绩)

下面语句的功能是:创建after触发器txm,当向学生表中插入数据时,如果性别正确则插入,否则不允许插入并提示错误。请将该语句补充完整。

create trigger txm

on 学生表

after (1)

as

begin

declare @xb char(2)

select @sb=性别 from (2)

if (3)

begin

    print '性别错误!'

  (4)

end

end


A:(2)处填:inserted B:(4)处填:return C:(1)处填:insert D:(3)处填:@xb<>'男' or @xb<>'女'
14.

现有学生管理数据库,包含三个表,其结构如下,其中加下划线的字段或字段组合为主键。

学生表(学号,姓名,性别,出生日期,班级)

课程表(课程号,课程名,学分)

选课表(学号,课程号,成绩)

下面语句的功能是:创建AFTER触发器tgxh,当修改学生表中的学号后,该生在选课表中的学号也自动修改,从而实现级联修改。请将该语句补充完整。

CREATE TRIGGER tgxh

  ON (1)

  FOR(2)

  AS

   IF UPDATE(学号)

     BEGIN

         UPDATE 选课表 

              SET 学号=(3)

              WHERE 学号=(4)

     END


A:(4)处填:(SELECT 学号 FROM deleted) B:(3)处填:(SELECT 学号 FROM inserted) C:(1)处填:学生表 D:(2)处填:update 15.可以激活DML触发器的语句是( )。
A:delete B:update C:insert D:select

温馨提示支付 ¥4.99 元后可查看付费内容,请先翻页预览!
点赞(148) dxwkbang
返回
顶部