Oracle作业2-答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第二次书面作业答案
(作业在2013.5.15之前交,使用学院统一的作业封面,题目可以打印,答题内容必须手写)
一、填空题
1.PL/SQL程序块主要包括3个主要部分:声明部分、执行部分和异常处理部分。
2.使用显式游标主要包括4个步骤:声明游标、打开游标、提取数据、关闭游标。
3.在PL/SQL中,如果SELECT语句没有返回任何记录,则会引发NO_DATA_FOUND 异常。
4.查看操作在数据表中所影响的行数,可通过游标的%ROWCOUNT 属性实现。
5.在下面程序的空白处填写适当的代码,使该函数可以获取指定编号的员工薪金。
CREATE OR REPLACE FUNCTION get_sal(P_ID varchar2) return number is
v_sal number;
begin
select sal into v_sal from emp where empno= P_ID ;
returen v_sal;
exception
when no_data_found then
dbms_output.put_line('无法找到该编号的员工!');
when others then
dDms_output.put_line('发生其他错误!');
end get_sal;
6.ROWID实际上保存的是记录的物理地址,因此通过ROWID来访问记录可以获得最快的访问速度。
7.完成下面的语句,使其可以为EMPLOYEES表的EMPNO列添加一个名为PK_EMPNO的主键约束。
ALTER TABLE EMPLOYEES ADD CONSTRAINT PK_EMPNO
PRIMARY KEY EMPNO ;
8.B树索引可以是惟一的或者不惟一的,惟一的B树索引可以保证索引列上不会有重复的值。
9.Oracle数据库提供的对表或索引的分区方法有5种,分别为:范围分区、散列分区、列表分区、组合范围散列分区和组合范围列表分区。
10.簇是一种用于存储数据表中数据的方法。簇实际上是一组表,由一组共享相同数据块的多个表组成。
二、选择题
1.下列只能存储一个值的变量是哪种变量?( B )
A.游标B.标量变量C.游标变量D.记录变量
2.声明%TYPE类型的变量时,服务器将会做什么操作?( A)
A.为该变量检索数据表中列的数据类型B.复制一个变量
C.检索数据库中的数据D.为该变量检索列的数据类型和值3.下列哪个语句允许检查UPDATE语句所影响的行数?( B )
A.SQL%FOUND B.SQL%ROWCOUNT
C.SQL%COUNTD D.SQL%NOTFOUND
4.对于游标FOR循环,以下哪种说法是不正确的?( D)
A.循环隐含使用FETCH获取数据B.循环隐含使用OPEN打开记录集C.终止循环操作也就关闭了游标D.游标FOR循环不需要游标出现5.如果PL/SQL程序块的可执行部分引发了一个错误,则程序的执行顺序将发生什么变化?( A)
A.程序将转到EXCEPTION部分运行B.程序将中止运行
C.程序仍然正常运行D.以上都不对
6.下列哪个语句可以在SQL*Plus直接调用一个过程?( D)
A.RETURN B.CALL C.SET D.EXEC
7.下面哪个不是过程中参数的有效模式? ( C )
A.IN B.IN OUT C.OUT IN D.OUT
8.下列哪一个动作不会激发触发器? ( B)
A.更新数据B.查询数据C.删除数据D.插入数据9.在使用CREATE TRIGGER语句创建行级触发器时,哪一个语句用来引用旧数据? ( D)
A.FOR EACH B.ON C.REFERENCING D.OLD
10.在创建触发器时,哪一个语句决定触发器是针对每一行执行一次,还是针对每一个语句执行一次?( A)
A.FOR EACH B.ON C.REFERENCING D.NEW
11.如果希望执行某个操作时,该操作本身并不执行,而是去执行另外的一些操作,那么可以使用什么方式完成这种操作?( C)
A.BEFORE触发器B.AFTER触发器
C.INSTEAD OF触发器D.UNDO触发器
12.如果一个表中某条记录的一个字段暂时不具有任何值,那么在其中将保存什么内容? ( C )
A.空格字符B.数字0 C.NULL D.该字段数据类型的默认值13.如果为表EMPLOYEES添加一个字段EMAIL,并且规定每个雇员都必须具有唯一的EMAIL地址,则应当为EMAIL字段建立哪种约束?( B) A.PRIMARKY KEY B.UNIOUE C.CHECK D.NOT NULL 14.使用ALTER INDEX…REBUILD语句不可以执行下面哪个任务?( C) A.将反向键索引重建为普通索引B.将一个索引移动到另一个表空间C.将位图索引更改为普通索引D.将一个索引分区移动到另一个表空间15.假设在一个表的3个字段NAME、SEX和MONTH_OF_BIRTH中分别保存姓名、性别和出生月份的数据.则应当为这3个字段分别刨建阿种类型的索引?( C)
A.全部创建B树索引B.全部创建位图索引
C.分别创建B树索引、位图索引和位图索引
D.分别创建B树索引、位图索引和基于函数的索引
16.用户经常需要在。EMP表的SEX列上统计不同性别的员工信息,应该在SEX列上建立哪种类型的索引?( C )
A.B树索引B.反向索引C.位图索引D.函数索引17.假设要对商品信息表进行分区处理,并且根据商品产地进行分区,则应采用下列哪种分区方法?( C )
A.范围分区B.散列分区C.列表分区D.组合范围散列分区18.建立序列后,首次调用序列时应该使用哪个伪列?( C )
A.ROWID B.ROWNUM C.NEXTV AL D.CURRV AL