当前位置:文档之家› 第6章_存储过程与触发器练习题

第6章_存储过程与触发器练习题

有教师表(教师号,教师名,职称,基本工资),其中基本工资的取值与教师职称有关。

实现这个约束的可行方案是( )。

A 在教师表上定义一个视图B 在教师表上定义一个存储过程C 在教师表上定义插入和修改操作的触发器D 在教师表上定义一个标量函数参考答案C在SQL SERVER中,执行带参数的过程,正确的方法为()。

A 过程名参数B 过程名(参数)C 过程名=参数D ABC均可参考答案A在SQL SERVER服务器上,存储过程是一组预先定义并()的Transact-SQL语句。

A 保存B 解释C 编译D 编写参考答案C在SQL Server中,触发器不具有()类型。

A INSERT触发器B UPDATE触发器C DELETE触发器D SELECT触发器参考答案D—()允许用户定义一组操作,这些操作通过对指定的表进行删除、插入和更新命令来执行或触发。

A 存储过程B 规则C 触发器D 索引参考答案C为了使用输出参数,需要在CREATE PROCEDURE语句中指定关键字( )。

A OPTIONB OUTPUTC CHECKD DEFAULT参考答案B下列( )语句用于创建触发器。

A CREATE PROCEDUREB CREATE TRIGGERC ALTER TRIGGERD DROP TRIGGER参考答案B下列( )语句用于删除触发器。

A CREATE PROCEDUREB CREATE TRIGGERC ALTER TRIGGERD DROP TRIGGER参考答案D—下列( )语句用于删除存储过程。

A CREATE PROCEDUREB CREATE TABLEC DROP PROCEDURED 其他参考答案C下列( )语句用于创建存储过程。

A CREATE PROCEDUREB CREATE TABLEC DROP PROCEDURED 其他参考答案Asp_help属于哪一种存储过程()?A 系统存储过程B 用户定义存储过程C 扩展存储过程D 其他参考答案A以下语句创建的触发器是当对表A进行()操作时触发。

CREATE TRIGGER ABC ON 表AFOR INSERT, UPDATE, DELETEAS……—A 只是修改B 只是插入C 只是删除D 修改,插入,删除参考答案D()允许用户定义一组操作,这些操作通过对指定的表进行删除、插入和更新命令来执行或触发。

A 存储过程B 视图C 触发器D 索引参考答案C下列可以查看表的行数以及表使用的存储空间信息的系统存储过程是()。

A sq_spaceusedB sq_dependsC sq_helpD sq_rename参考答案A以下哪个不是存储过程的优点()A 实现模块化编程,一个存储过程可以被多个用户共享和重用。

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

C 可以增加网络的流量。

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

参考答案C以下哪个不是存储过程的优点()A 实现模块化编程,一个存储过程可以被多个用户共享和重用。

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

C 可以增加网络的流量。

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

参考答案C替代触发器(instead of)是在触发触发器的修改操作()执行。

—A 执行后B 之前C 停止执行时D 同时参考答案B以下不属于存储过程特点的是()。

A 在删除所涉及表时,同时被删除B 代码执行效率高C 数据查询效率高D 模块化编程参考答案A以下不属于触发器特点的是()。

A 基于一个表创建,可以针对多个表进行操作B 被触发自动执行C 可以带参数执行D 可以实施更复杂的数据完整性约束参考答案C以下()不是触发触发器的操作。

A SELECTB UPDATEC DELETED INSERT参考答案A关于存储过程和触发器的说法,正确的是()。

A 都是SQL Server数据库对象B 都可以为用户直接调用C 都可以带参数D 删除表时,都被自动删除—参考答案A如果需要在插入表的记录时自动执行一些操作,常用的是()。

A 存储过程B 函数C 触发器D 存储过程与函数参考答案C对SQL Server中的存储过程,下列说法中正确的是:存储过程()。

A 不能有输入参数B 没有返回值C 可以自动被执行D 可以嵌套使用参考答案D存储过程经过了一次创建以后,可以被调用()次。

A 1B 2C 255D 无数参考答案D以下()不是存储过程的优点。

A 执行速度快B 模块化的设计C 会自动被触发D 保证系统的安全性参考答案C下面关于触发器的描述,错误的是( )。

A 触发器是一种特殊的存储过程,用户可以直接调用B 触发器表和deleted 表没有共同记录C 触发器可以用来定义比CHECK 约束更复杂的规则D 删除触发器可以使用DROP TRIGGER命令,也可以使用企业管理器参考答案ASQL Server为每个触发器创建了两个临时表,它们是()。

A Updated 和DeletedB Inserted 和DeletedC Updated 和InsertedD Updated 和Selected参考答案B在SQL语言中,建立存储过程的命令是()。

A CREATE PROCEDUREB CREATE RULEC CREATE DURED CREATE FILE参考答案A已定义存储过程AB,带有一个参数@stname varchar(20),正确的执行方法为( )。

A EXEC AB ˈ吴小雨ˈB EXEC AB =ˈ吴小雨ˈC EXEC AB (吴小雨)D 其他3种都可以参考答案A对于下面的存储过程:CREATE PROCEDURE Myp1 @p IntASSELECT St_name, AgeFROM StudentsWHERE Age=@p假如要在Students表中查找年龄是20岁的学生,()可以正确的调用这个存储过程。

A EXEC Myp1 @p=´20´B EXEC Myp1 @p=20C EXEC Myp1=´20´D EXEC Myp1=20参考答案当某个表被删除后,该表上的触发器被自动删除。

[参考答案]正确SQL Server为每个触发器创建了两个临时表,它们是updated和deleted。

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

[参考答案]正确在SQL SERVER中,触发器的执行是在数据的插入、更新或删除之前执行的。

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

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

[参考答案]正确临时存储过程总是在master数据库中创建。

通常分为局部临时存储过程和全局临时存储过程。

[参考答案]错误某个表被删除后,该表上的所有触发器将自动被删除。

[参考答案]正确SQL Server 中的存储过程具有5种类型。

[参考答案]正确存储过程的输出结果可以传递给一个变量。

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

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

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

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

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

[参考答案]正确在SQL Server中,触发器的执行通过EXECUTE命令实现。

[参考答案]错误在SQL SERVER中,替代触发器的执行是在数据变动之前被触发,对于每个触发操作只能定义一个替代触发器。

[参考答案]正确使用存储过程可以减少网络流量。

[考答案]正确存储过程使代码具有重用性。

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

[参考答案]正确在SQL SERVER中,触发器的执行是在数据的插入、更新或删除之前执行的。

[参考答案]错误创建存储过程的命令关键字CREATE PROCEDURE不可以缩写。

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

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

[参考答案]错误ROLLBACK TRANSACTION的意思是回滚事务。

[参考答案]正确触发器用来定义比CHECK约束更复杂的规则或要求。

[参考答案]正确通过语句ALTER PROCEDURE修改存储过程与删除存储过程然后再新建一个同名存储过程的效果是相同的。

[参考答案]错误某SQL Server 2000数据库中两张表:商品表(商品号,商品名,商品类型,价格)和销售表(商品号,销售时间,销售数量,销售单价)。

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

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

CREATE PROC p_Sum @year INTASSELECT (__1__ ) 商品类别,SUM(销售数量) AS 销售总数量,(__2__ ) AS 销售总利润FROM 商品表JOIN 销售表ON 商品表. 商品号=销售表.商品号WHERE year(销售时间) = @yearGROUP BY 商品类别ORDER BY 销售总利润(__3__)参考答案1:TOP 32:(销售单价-成本价)*SUM(销售数量)3:DESC(降序)在SQL Server 2000中,设有顾客表(顾客号, 顾客名, 所在地区, 年龄),应用系统中需统计指定地区的顾客人数和平均年龄。

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

CREATE PROC P_Count @area varchar(20)ASSELECT COUNT(*) AS 人数, ( __1__ ) AS 平均年龄 FROM 顾客表WHERE 所在地区=@area参考答案1:AVG(年龄)以下代码创建和执行存储过程proc_score,查询S_C_Info表中C_No 为“0002”的St_ID, Score等信息。

CREATE PROC pro_scoreASSELECT St_ID, __1__FROM S_C_InfoWHERE C_No=‘0002’执行存储过程proc_score命令为:EXEC __2__参考答案1:Score2:proc_score在student_db数据库中创建一个名为“tr_P1”的存储过程,实现根据学生学号,查询该学生的选修课程情况,其中包括该学生的学号、姓名、课程名、课程类型、成绩。

CREATE __1__ tr_P1 @stID varchar(10)ASSELECT St_Info.St_ID, St_Info.St_Name, C_Info.C_Name, C_Info.C_Type, S_C_Info.ScoreFROM St_Info, S_C_Info, C_InfoWHERE St_Info.St_ID = S_C_Info.St_ID AND S_C_Info.C_No =C_Info.C_No调用该存储过程查询“0403060111”学生的选修课程情况。

相关主题