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

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

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

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

A 在教师表上定义一个视图B 在教师表上定义一个存储过程C 在教师表上定义插入和修改操作的触发器D 在教师表上定义一个标量函数参考答案C在SQL SERVE 中,执行带参数的过程,正确的方法为()A 过程名 参数B 过程名(参数)C 过程名 =参数D ABC 匀可参考答案A在SQL SERVE 服务器上,存储过程是一组预先定义并( Transact-SQL 语句。

A 保存B 解释C 编译D 编写 参考答案 C在 SQL Server 中,触发器不具有(A INSERT 触发器B UPDATE* 发器C DELETE 发器D SELECT 触发器 参考答案 D)的 )类型( )允许用户定义一组操作,这些操作通过对指定的表进行删除、插入和更新命令来执行或触发。

A存储过程B规则C触发器D索引参考答案C为了使用输出参数,需要在CREATPROCEDU语句中指定关键字( )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, DELETEASA只是修改B只是插入C只是删除D修改,插入,删除参考答案D()允许用户定义一组操作,这些操作通过对指定的表进行删除、或触发。

A存储过程B视图C触发器D索引参考答案C下列可以查看表的行数以及表使用的存储空间信息的系统存储过程是(A sq_spaceusedB sq_dependsC sq_helpD sq_re name参考答案A以下哪个不是存储过程的优点()A实现模块化编程,一个存储过程可以被多个用户共享和重用。

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

C可以增加网络的流量。

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

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

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

C可以增加网络的流量。

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

参考答案C替代触发器(in stead 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 Stude ntsWHERE Age=@p假如要在Students表中查找年龄是20岁的学生,()可以正确的调用这个存储过程。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

CREATE PROC p_Sum @year INT ASSELECT (__1__ )商品类别, (__2__ ) AS 销售总利润FROM 商品表 JOIN 销售表 ON 商品表. 商品号=销售表.商品号 WHERE year (销售时间) GROUP BY 商品类别ORDER BY 销售总利润(__3__) 参考答案 1: TOP 3SUM 销售数量) AS 销售总数量,@year2:(销售单价-成本价)*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_I nfoWHERE C_No=0002'执行存储过程proc_score命令为:EXEC __2__参考答案1: Score2: proc_score在student_db数据库中创建一个名为“ tr_P1 ”的存储过程,实现根据学生学号,查询该学生的选修课程情况,其中包括该学生的学号、姓名、课程名、课程类型、成绩。

CREATE __1__ tr_P1 @stlD varchar(IO)ASSELECT St_I nfo.St_ID, St_I nfo.St_Name, C」n fo.C_Name, C」n fo.C_Type,S_C」n fo.ScoreFROM St_lnfo, S_C」nfo, C」nfoWHERE St_I nfo.St_ID = S_C_I nfo.St_ID AND S_C_I nfo.C_No =C_ln fo.C_No调用该存储过程查询“ 0403060111”学生的选修课程情况。

相关主题