第6章存储过程与触发器练习题文档格式.docx

上传人:b****6 文档编号:18801440 上传时间:2023-01-01 格式:DOCX 页数:15 大小:28.87KB
下载 相关 举报
第6章存储过程与触发器练习题文档格式.docx_第1页
第1页 / 共15页
第6章存储过程与触发器练习题文档格式.docx_第2页
第2页 / 共15页
第6章存储过程与触发器练习题文档格式.docx_第3页
第3页 / 共15页
第6章存储过程与触发器练习题文档格式.docx_第4页
第4页 / 共15页
第6章存储过程与触发器练习题文档格式.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

第6章存储过程与触发器练习题文档格式.docx

《第6章存储过程与触发器练习题文档格式.docx》由会员分享,可在线阅读,更多相关《第6章存储过程与触发器练习题文档格式.docx(15页珍藏版)》请在冰豆网上搜索。

第6章存储过程与触发器练习题文档格式.docx

CALTERTRIGGER

DDROPTRIGGER

参考答案

B

下列()语句用于删除触发器。

ACREATEPROCEDUREBCREATETRIGGERCALTERTRIGGERDDROPTRIGGER参考答案

D

)语句用于删除存储过程

BCREATETABLE

CDROPPROCEDURE

D其他参考答案

下列()语句用于创建存储过程

D其他参考答案

sp_help属于哪一种存储过程()?

A系统存储过程

B用户定义存储过程

C扩展存储过程

)操作时触发

以下语句创建的触发器是当对表A进行(

CREATETRIGGERABCON表A

FORINSERT,UPDATE,DELETE

AS

插入和更新命令来执行

)执行

A只是修改

B只是插入

C只是删除

D修改,插入,删除参考答案

()允许用户定义一组操作,这些操作通过对指定的表进行删除、或触发。

A存储过程

B视图

C触发器

D索引

C下列可以查看表的行数以及表使用的存储空间信息的系统存储过程是(

Asq_spaceused

Bsq_depends

Csq_help

Dsq_rename参考答案

A以下哪个不是存储过程的优点()

A实现模块化编程,一个存储过程可以被多个用户共享和重用。

B可以加快程序的运行速度。

C可以增加网络的流量。

D可以提高数据库的安全性。

C以下哪个不是存储过程的优点()

替代触发器(insteadof)是在触发触发器的修改操作(

A执行后

B之前

C停止执行时

D同时参考答案

以下不属于存储过程特点的是(

A在删除所涉及表时,同时被删除

B代码执行效率高

C数据查询效率高

D模块化编程参考答案

以下不属于触发器特点的是()

A基于一个表创建,可以针对多个表进行操作

B被触发自动执行

C可以带参数执行

D可以实施更复杂的数据完整性约束参考答案

以下()不是触发触发器的操作。

ASELECT

BUPDATE

CDELETE

DINSERT

关于存储过程和触发器的说法,正确的是()

A都是SQLServer数据库对象

B都可以为用户直接调用

C都可以带参数

D删除表时,都被自动删除参考答案

如果需要在插入表的记录时自动执行一些操作,常用的是()

B函数

D存储过程与函数

对SQLServer中的存储过程,下列说法中正确的是:

存储过程

A不能有输入参数

B没有返回值

C可以自动被执行

D可以嵌套使用

存储过程经过了一次创建以后,可以被调用()次。

A1

B2

C255

D无数

以下()不是存储过程的优点。

A执行速度快

B模块化的设计

C会自动被触发

D保证系统的安全性

C下面关于触发器的描述,错误的是()。

A触发器是一种特殊的存储过程,用户可以直接调用

B触发器表和deleted表没有共同记录

C触发器可以用来定义比CHECK约束更复杂的规则

D删除触发器可以使用DROPTRIGGER命令,也可以使用企业管理器

SQLServer为每个触发器创建了两个临时表,它们是()。

AUpdated和DeletedBInserted和Deleted

CUpdated和InsertedDUpdated和Selected参考答案

在SQL语言中,建立存储过程的命令是()。

BCREATERULE

CCREATEDURE

DCREATEFILE参考答案

已定义存储过程AB,带有一个参数@stnamevarchar(20)

AEXECAB吴小雨?

BEXECAB=吴小雨?

CEXECAB(吴小雨)

D其他3种都可以参考答案

对于下面的存储过程:

CREATEPROCEDUREMyp1@pInt

SELECTSt_name,Age

FROMStudents

WHEREAge=@p

假如要在Students表中查找年龄是20岁的学生,(这个存储过程。

,正确的执行方法为()

)可以正确的调用

AEXECMyp1@p=20BEXECMyp1@p=20CEXECMyp1=20'

DEXECMyp仁20参考答案

当某个表被删除后,该表上的触发器被自动删除。

[参考答案]正确

SQLServer为每个触发器创建了两个临时表,它们是updated和deleted。

[参考答案]错误存储过程是存储在服务器上的一组预编译的Transact-SQL语句。

在SQLSERVER中,触发器的执行是在数据的插入、更新或删除之前执行的。

[参考答案]错误若要修改一个存储过程,可以先删除该存储过程,再重新创建。

[参考答案]正确触发器与表紧密相连,可以看作表定义的一部分。

临时存储过程总是在master数据库中创建。

通常分为局部临时存储过程和全局临时存储过[参考答案]错误

某个表被删除后,该表上的所有触发器将自动被删除。

[参考答案]正确

SQLServer中的存储过程具有5种类型。

存储过程的输出结果可以传递给一个变量。

[参考答案]正确触发器是可在程序中被调用执行。

[参考答案]错误

存储过程是存储在服务器上的一组预编译的Transcat-SQL语句。

[参考答案]正确创建触发器的时候可以不是表的所有者或数据库的所有者。

则返回代

定义一个

[参考答案]错误每个存储过程向调用方返回一个整数返回代码。

如果存储过程没有显式设置返回代码的值,码为0,表示成功。

在SQLServer中,触发器的执行通过EXECUTE命令实现。

在SQLSERVER中,替代触发器的执行是在数据变动之前被触发,对于每个触发操作只能替代触发器。

使用存储过程可以减少网络流量。

[考答案]正确

存储过程使代码具有重用性。

[参考答案]正确触发器不能被调用,它可以自动执行。

创建存储过程的命令关键字CREATEPROCEDU不可以缩写。

[参考答案]错误触发器可以在视图上定义。

[参考答案]错误触发器被激活后自动创建deleted和inserted两个临时表。

ROLLBACKTRANSACTION的意思是回滚事务。

触发器用来定义比CHECK约束更复杂的规则或要求。

通过语句ALTERPROCEDURE改存储过程与删除存储过程然后再新建一个同名存储过程的效果是相同的。

[参考答案]错误

某SQLServer2000数据库中两张表:

商品表(商品号,商品名,商品类型,价格)和销售表(商品号,销售时间,销售数量,销售单价)。

用户需统计指定年份每类商品的销售总数量和销售总利润,要求只列出销售总利润最多的前三类商品的商品类别、销售总数量和销售总利润。

为了完成该统计操作,请按要求将下面的存储过程补充完整。

CREATEPROCp_Sum@yearINT

SELECT(__1__)商品类别,SUM销售数量)AS销售总数量,

(__2__)AS销售总利润

FROM商品表JOIN销售表ON商品表.商品号=销售表.商品号

WHEREyear(销售时间)@year

GROUPBY商品类别

ORDERBY销售总利润(__3__)参考答案

1:

TOP3

2:

(销售单价-成本价)*SUM(销售数量)

3:

DESC降序)

在SQLServer2000中,设有顾客表(顾客号,顾客名,所在地区,年龄),应用系统中需统计指定地区的顾客人数和平均年龄。

请补全下列存储过程代码以完成该功能。

CREATEPROCP_Count@areavarchar(20)

SELECTCOUNT(*)AS人数,(__1__)AS平均年龄FROM顾客表

WHERE所在地区=@area

1:

AVG年龄)

以下代码创建和执行存储过程proc_score,查询S_C_Info表中C_No为“0002”的

St_ID,Score等信息。

CREATEPROCpro_score

SELECTSt_ID,__1__

FROMS_C_Info

WHEREC_No=0002'

执行存储过程proc_score命令为:

EXEC__2__

Score

proc_score

在student_db数据库中创建一个名为“tr_P1”的存储过程,实现根据学生学号,查询该学生的选修课程情况,其中包括该学生的学号、姓名、课程名、课程类型、成绩。

CREATE__1__tr_P1@stlDvarchar(IO)

SELECTSt_Info.St_ID,St_Info.St_Name,C」nfo.C_Name,C」nfo.C_Type,S_C」nfo.Score

FROMSt_lnfo,S_C」nfo,C」nfo

WHERESt_Info.St_ID=S_C_Info.St_IDANDS_C_Info.C_No=

C_lnfo.C_No

调用该存储过程查询“0403060111”学生的选修课程情况。

__2__'

040306011T

PROCEDURE或PROC

EXECUTEtr_P1或EXECtr_P1

触发器主要用于强制复杂的__1—或要求。

业务规则

创建存储过程实际是对存储过程进行定义的过程,主要包含存储过程名称、__1和存储过程的主体部分。

参数

SQLServer中的存储过程具有_1__、用户自定义存储过程、临时存储过程、远程存储过

程、__2__5种类型。

系统存储过程2:

扩展存储过程

有表C_lnfo(C_No,C_NameC_TypeCredit),各属性的含义为课程号、课程名称、课程类别、学分,为该表创建一个触发器tr_AutoSetType,以便插入数据时将课程类别修改为“必修”。

CREATETRIGGERtr_AutoSetTypeONC」nfo

__1__

UPDATEC_lnfoSETC_Type='

必修'

参考答案

FORINSERT用户对数据进行添加、修改和删除时,自动执行的存储过程称为__1__0

触发器

触发器是一种特殊类型的_1__,但不由用户直接调用,而是通过事件被执行。

存储过程

与触发器相关的虚拟表主要有1表和Deleted表两种。

Inserted或INSERTED或

inserted

替代触发器(INSTEADOF)将在数据变动前被触发,对于每个触发操作,只能定义

__1__个INSTEADOF触发器。

一或1

对存储在数据库中的存储过程,可以使用—1—命令或直接按其名称执行。

(答题时,英

文使用大写形式)

EXEC或EXECUTE

存储过程是一种数据库对象,将一组SQL语句和控制流语句的集合以一个存储单兀的形式保存在1上。

服务器

扩展存储过程以“xp_”为前缀定义,只能添加到_1_数据库中。

(答题时,英文使用

小写)

master

删除表中记录后,被删除的记录临时存储在__1—表中。

(答题时,英文使用小写)

deleted

读程序填空。

要求创建一个存储过程myproc,查询指定班级中选修指定课程的学生人

数,并将查询结果通过参数返回。

以下过程调用存储过程查询“材料科学0601”班中选

修“C吾音程序设计基础”的学生人数:

CREATEPROCEDURE[myproc]

@classnameVARCHAR(20),@cnameVARCHAR(20),@countINTOUTPUT

SELECTCOUNT(*)

FROMS_C_lnfosc,st_infos,c_infoc

WHEREc.c_no=sc.c_noANDs.st_id=sc.st_idANDs.Cl_Name=@classnameANDc.C_Name=@cname

执行这个存储过程的吾句段为:

DECLARE@countint

EXECmyproc'

材料科学0601班'

,'

吾言程序设计基础'

__1__

print@count

@countOUTPUT

在存储过程中,使用_1_命令可以无条件退出过程回到调用程序。

RETURN

要删除一个存储过程,则可以使用的语句是:

__1__PROCEDURE

DROP

在SQLServer中,当数据表被修改时,系统可以自动执行的数据库对象

是__1__o

TRIGGER或触发器

SQLServer触发器主要是针对INSERTDELETE__1__语句创建的。

(使用

英文大写答题)

UPDATE

当对表进行__1__操作时触发器不会自动执行。

查询或SELECT

触发器定义在一个表中,当在表中执行_1_、UPDAT或DELET操作时被触发自动执行。

INSERT

在SQLServer服务器上,存储过程是一组预先定义并__1__的Transact-SQL语句。

编译

如同表和视图的修改,当用户需要对存储过程进行修改时,可以通过_1__PR0CEDU命

盼实现。

ALTER

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 自然景观

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1