《Oracle数据库管理习题及答案(38页).doc》由会员分享,可在线阅读,更多相关《Oracle数据库管理习题及答案(38页).doc(37页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、-Oracle数据库管理习题及答案-第 37 页1.6习题一.填空题1、关系模型提供了3类完整性规则,分别是_、_、_。参考答案:实体完整性规则、参照完整性规则、用户定义的完整性规则2、RDBMS由两部分组成,即_、_两部分。答案:数据库系统内核、数据字典3、关系数据库模型支持三种类型的表关联关系:_、_、_。答案:一对一、一对多以及多对多4、数据模型的种类有很多,例如_、_、_和_等。目前理论最成熟、使用最普及的是_。答案:层次模型、网状模型、关系数据模型、面向对象模型。关系数据模型二、选择题1、Oracle 11g版本号中字母“g”的含义是()A产品类型的“代”( generation)
2、B网格(gridding) C集成(integration)D无含义答案:A2、 设计性能较优的关系模式称为规范化,规范化主要的理论依据是()A关系规范化理论B关系运算理论C关系代数理论D数理逻辑答案:A3、消除了部分函数依赖的1NF的关系模式必定是()A1NFB2NFC3NFD4NF答案:B4、当B属于函数依赖于A属性时,属性B与A 的联系是()A1对多B多对1 C多对多D以上都不是答案:B5、根据关系数据库规范化理论,关系数据库中的关系要满足第一范式。下面“部门”关系中,因哪个属性而使它不满足第一范式?部门(部门号,部门名,部门成员,部门总经理)A部门总经理B部门成员C部门名D部门号答案:
3、B6、下列不属于Oracle数据库数据类型的是()ANUMBERBFLOATCCLOBDBOOLEAN答案:D三、简答题1、简述数据库与数据库管理系统的区别。参考答案:数据库是用来存储信息或数据的机制,是按照数据结构来组织、存储和管理数据的仓库。可以被定义为是在计算机存储设备上合理存放的,互相关联的数据集合。数据库管理系统,它是基于某种结构数据模型、以统一的方式管理和维护数据库,并提供访问数据库接口的通用软件。2、简述数据库规范化的概念及其作用。参考答案:数据库规范化,又称数据库或资料库正规化、标准化,是数据库设计中的一系列原理和技术,以减少数据库中数据冗余,增进数据的一致性。四、应用题1、设
4、有一教学管理数据库,其属性为:学号(S#),课程号(C#),成绩(G),任课教师(TN),教师所在的系(D)。这些数据有下列语义: 学号和课程号分别与其代表的学生和课程一一对应。 一个学生所修的每门课程都有一个成绩。 每门课程只有一位任课教师,但每位教师可以有多门课程。 教师中没有重名,每个教师只属于一个系。(1)试根据上述语义确定函数依赖集。(2)如果用上面所有属性组成一个关系模式,那么该关系模式为何模式?并举例说明在进行增、删操作时的异常现象。(3)分解为具有依赖保持和无损连接的3NF。参考答案:(1)F=(S#,C#)G,C#TN,TND(2)关系模式为1NF,因为该关系模式的候选码为(
5、S#,C#),则非主属性有G,TN和D。又F中有C#TN,存在非主属性TN对候选码(S#,C#)的部分依赖,即:若新增设一门课程而暂时还没有学生选修时,则因缺少码S#值而不能进行插入操作。若某个教师调离学校要删除有关信息时,会将不该删除的课程(C#)信息删除。(3)Fm=(S#,C#)G,C#TN,TND=R1,R2,R3其中: R1=(S#,C#,G) R2=(C#,TN) R3=(TN,D)2.7习题一、填空题1、常用的Oracle服务主要有如下四种,分别是_、_、_、_。参考答案:OracleDBConsoleorcl、OracleJobScheduler、OracleService、
6、OracleTNSListener2、Oracle数据库启动的三个阶段是:_、_、_。参考答案:启动实例、打开控制文件、打开数据库3、Oracle数据库关闭的四个选项是:_、_、_、_。参考答案:normal、immediate、transaction、abort二、选择题1、系统标识符(SID)是指唯一在网络域中区别于其他数据库的数据库实例名,下面合法的SID是()Amy2orcl BmyoracletestCmy_orclDmyorcl参考答案:A2、安装Oracle Database 11g可以选择安装类型,下列不属于Oracle Database 11g的安装类型是()A企业版B个人版
7、C定制D免费版参考答案:D三、简答题1、简述Oracle Database 11g在Windows系统下的安装步骤。参考答案:选择安装方法、选择安装类型、指定主目录详细信息、产品特定的先决条件检查、选择配置选项、安装、安装结束。2、简述Oracle中用户和模式的关系。参考答案:用户是用连接数据库和访问数据库对象的。模式是数据库对象的集合。模式对象是数据库数据的逻辑结构。通俗地说,模式是用来创建oracle中各种对象,而用户用来连接数据库并访问模式中对象,在oracle中模式与用户是一一对应关系。四、上机练习1、按照书中步骤,正确安装Oracle Database 11g,创建数据库,并且创建用
8、户。2、从操作系统提示符界面,采用上题创建的用户登录数据库,并创建EMPLOYEES表进行测试。(表结构如下图)3、客户端连接Oracle数据库时,默认端口为1521。创建一个新的监听程序,其端口为1522。然后将ORCL注册于该监听程序。3.5 习题一、填空题1查看表结构时,所使用的命令是_,该命令可以简写为_。参考答案:DESCRIBE、DESC2使用SQL*Plus语句快速编辑SQL语句时,可以使用的命令有APPEND(可以简写为A)命令、_ (可以简写为C)命令、_(可以简写为I)、_(可简写为L)命令,以及RUN(可以简写为R)命令。参考答案:CHANGE、INPUT、LIST3在S
9、QL*Plus工具中,可以使用SAVE命令将缓冲区内容保存到文件;可以使用_命令读取并运行文件内容;可以使用_命令编辑缓冲区内容或文件内容;还可以使用SPOOL命令复制输出结果到文件。参考答案:START、EDIT4在SQL语句中,如果在某个变量前面使用了&符号,那么就表示该变量是一个临时变量。定义变量,可以使用_或ACCEPT命令;删除变量,可以使用UNDEFINE命令。参考答案:DEFINE5在SQL*Plus中格式化查询结果时,COLUMN命令可以对列格式化显示效果,PAGESIZE命令可以_,LINESIZE命令可以_。参考答案:设置页的大小、设置行宽度6创建简单报表时,使用_命令和_
10、命令,分别为报表设置页眉和页脚信息。参考答案:Ttitle、Btitle二、选择题1在SQL*Plus中连接数据库时,可以使用CONNECT命令。下面的4个选项中,哪个命令是正确的?其中,用户名为scott,密码为tiger,数据库名为orcl。()ACONNECT scott/tiger ;BCONNECT tiger/scott ;CCONN scott/tiger as sysdba ;DCONN scott/tigerorcl as sysdba ;参考答案:D2执行语句SAVE scott_emp_query.sql APPEND,执行结果表示()。A如果scott emp_quer
11、y.sql文件不存在,则出现错误B如果scott emp_query.sql文件已经存在,则出现错误C将缓冲区中的内容追加到scott_emp_query.sql文件中。如果该文件不存在,会创建该文件D将缓冲区中的內容替换掉scott_emp_query.sql文件的内容。如果该文件不存在,会创建该文件参考答案:C3使用SQL*Plus中的_,可以将文件中的内容检索到缓冲区,并且不执行。()ASAVE命令BGET命令CSTART命令DSPOOL命令参考答案:B4下面是有关变量的描述,请问哪些描述是正确的?()A临时变量是指仅在某个SQL语句中有效的变量B临时变量是在某个会话期间有效的变量C已定
12、义变量是指明确定义,其生命期至显式地删除、重新定义或退出SQL*Plus为止D已定义的变量是不能被删除的参考答案:B、C5如果希望控制列的显式格式,那么可以使用下面的_命令()C. SPOOLD. COLUMN参考答案:D三、简答题1使用DESCRIBE命令,查看scott用户的dept表的结构信息。参考答案:descscott. dept2使用SAVE命令将缓冲区内容写入到e:test.sql文件中;然后使用START命令将文件中的內容读入到缓冲区,并且进行执行。参考答案:saveS3执行下列语句,观察输出结果:DEFINE temp = 5000SELECT empno , ename ,
13、 mgrWHERE sal = &temp ;参考答案:略4对scott用户的emp表的输出信息进行格式设置。其中,empno列设置标题为“员工编号”,NUMBER格式为9999;ename列设置标题为“员工名称”,格式设置为25个字符;hiredate列设置标题为“受雇日期”,并且标题居中显示。参考答案:col empno heading员工编号 format 9999;col ename heading 员工名称 for A25;col hiredate heading受雇日期 justify center;5设置一页显示30行数据,并且设置一行显示130个字符,然后输出scott用户的e
14、mp表的全部信息。参考答案:SET PAGESIZE 30SET LINESIZE 130四、操作练习下载SQL Developer,建立Oracle数据库的连接,按照书中所述步骤,操作熟悉SQL Developer的使用。4.5 习题一、填空题1如果需要在SELECT子句中包括一个表的所有列,可以使用符号_。参考答案:*2WHERE子句可以接收FROM子句输出的数据;而HAVING子句可以接收来自FROM、_或_子句的输出的数据。参考答案:WHERE、GROUP3在SELECT语句中,分组条件的子句是_,对显示的数据进行排序的子句是_。参考答案:GROUP BY、ORDER BY4在DML语
15、句中,INSERT语句可以实现插入记录,_语句可以实现更新记录,_语句和_语句可以实现删除记录。参考答案:UPDATE、DELETE、TURNCATE5_函数可以返回某个数值的ASCII值,_函数可以返回某个ASCII值对应的十进制数。参考答案:ASCII、CHR6使用_函数,可以把数字或日期类型的数据转换成字符串;使用TO_DATE函数,可以把_转换成_,默认的日期格式为_。参考答案:TO_CHAR、字符串、日期型、yyyy-MM-dd HH:mm:ss二、选择题1查询scott用户的emp表中的总记录数,可以使用下列哪个语句?()ASELECT MAX(empno) FROM scott.
16、emp;BSELECT COUNT(empno) FROM scott.emp;CSELECT COUNT(comm) FROM scott.emp;DSELECT COUNT(*) FROM scott.emp;参考答案:D2为了去除结果集中的重复行,可以在SELECT中使用下列哪个关键字?()AALLBDISTINCTCUPDATADMERGE参考答案:B3在SELECT语句中,HAVING子句的作用是()A查询结果的分组条件B组的筛选条件C限定返回的行的判断条件D对结果集进行排序参考答案:B4下列哪个聚合函数可以把一个列中的所有值相加求和?()AMAX函数BMIN函数CCOUNT函数DS
17、UM函数参考答案:A5如果要统计表中有多少行记录,应该使用下列哪个聚合函数?()ASUM函数BAVG函数CCOUNT函数DMAX函数参考答案:C三、简答题1标准SQL语言的语句类型可以分为哪三大类,每种语句类型分别用来操纵哪些语句?参考答案:数据操纵语言(DML):用来操纵数据库中数据的命令。包括:select、insert、update、delete。数据定义语言(DDL):用来建立数据库、数据库对象和定义列的命令。包括:create、alter、drop。数据控制语言(DCL):用来控制数据库组件的存取许可、权限等的命令。包括:grant、deny、revoke。2列举几个在WHERE条件
18、中可以使用的操作符。参考答案:使用 = 、= 、= 、符号和 BETWEEN 。AND 。、IN(set)、LIKE、IS NULL 。3如果要按照降序对数据进行排序,应该在ORDER BY子句中使用哪个关键字?参考答案:DESC4下面这个SELECT语句能否输出查询结果?如果不能,该如何修改?SELECT empno , ename , deptno , COUNT (*)FROM scott .empGROUP BY deptno参考答案:不能。SELECT deptno , COUNT (*)FROM scott .empGROUP BY deptno5指定一个日期值,例如08-8月-2
19、008,获得这个日期与系统当前日期之间相隔的月份数和天数。参考答案:select months_between(08-8月-2008, sysdate) mon_betw from dual;5.8 习题一、填空题1按照约束的用途,主要可以将表的完整性约束分为NOT NULL约束、_、_、_和_。参考答案:Check、Unique Index、Primary key、Foreign key2使用_关键字,可以快速删除表中的所有记录,并且不在撤消表空间中记录撤消数据。参考答案:TRUNCATE3_约束用于定义列中不能出现NULL值,_约束用于定义列中不能出现重复值,而PRIMARY KEY约束则
20、可以定义列中既不允许出现NULL值,也不允许出现重复值。参考答案:NOT NULL、UNIQUE二、选择题1存储数据123.45,可以使用下面哪种数据类型?()ANUMBER BNUMBER(5) CNUMBER(5,3)DNUMBER(5,2)参考答案:D2如果某列定义了UNIQUE约束,则()A该列不允许出现重复值。 B该列不允许出现NULL值。C该列內允许出现一个NULL值。 D该列允许出现多个NULL值。参考答案:A3为列定义一个CHECK约束,希望该约束能对表中已存储的数据,以及以后向表中添加或修改的数据都进行检查,则应该将该约束设置为如下哪种状态?()AENABLE VALIDAT
21、E BENABLE NOVALIDATECDISABLE VALIDATE DDISABLE NOVALIDATE参考答案:A4使用如下语句创建一个临时表空间temp: CREAT _ TABLESPACE temp _ SIZE 10M AUTOEXTENT ON NEXT 2M MAXSIZE 20M;请从下列选项中选择正确的关键字补充上面的语句。()A(不填)、DATAFILE BTEMP、TEMPFILECTEMPORARY、TEMPFILE DTEMP、DATAFILE参考答案:C5下列关于约束与索引的说法中哪一项是不正确的?()A在字段上定义PRIMARY KEY约束时会自动创建B
22、树惟一索引B在字段上定义UNIQUE约束时会自动创建B树惟一索引C在默认的情况下,禁用约束会删除对应的索引,而激活约束会自动重建相应的索引D在定义FOREIGN KEY 约束时会创建B树唯一索引参考答案:D三、简答题1比较VARCHAR2与CHAR两种数据类型的区别,并举例说明分别在什么情况下使用这两种数据类型。参考答案:CHAR的长度是固定的,VARCHAR2的长度是可以变化的,存储字符串“ABC,对于CHAR (10),表示存储的字符将占10个字节(包括7个空字符),而同样的VARCHAR2 (10)则只占用3个字节的长度,10只是最大值,当你存储的字符小于10时,按实际长度存储。VARC
23、HAR2比CHAR节省空间,在效率上比CHAR会稍微差一些。2创建一个表后,为表中的某列添加CHECK约束,并分别设置该约束的状态为4种不同的状态,比较这4种状态下的约束检查效果。参考答案:略3建立一个学生表,表结构如下stu_info ( stuid number,name varchar(20),age number (2),sex char(2),birthday date)(1)在数据库中建立stu_info表。(2)添加主键约束(stuid)(3)添加check约束(插入的年龄必须大于19岁)(4)添加非空约束(要求姓名不能为空值)(5)给上面的表添加唯一约束(要求姓名不可重复)参考
24、答案:(1) create table stu_info(stuid number,name varchar(20),age number(2),sex char(2),birthday date);(2) ALTER TABLE stu_infoADD CONSTRAINT stu_info _pk PRIMARY KEY (stuid);(3) ALTER TABLE stu_infoADD CONSTRAINT age_checkcheck(age19);(4) alter table stu_info modify name not null;(5) ALTER TABLE stu_i
25、nfoADD CONSTRAINT name_uniunique(name);6.8 习题一、填空题1为了保证在SQL方式下进行INSERT、DELETE和UPDATE操作达到安全的目的,一般在SQL下进行操作前,建议将环境设置成为非自动提交的方式,采用的命令是_,若想取消操作,采取的命令是_。参考答案:set autocommit off、rollback2对某步操作设置相应保存点的命令是_,当根据需要用命令_来实现撤消到这一步。参考答案:SAVEPOINT、ROLLBACK TO3关系数据库中比较常用的SQL中,采用命令_进行插入,采用_来进行数据更新,而同时具有更新和插入功能的命令式_。
26、参考答案:INSERT、UPDATA、MERGE二、选择题1PL/SQL块中不能直接使用的SQL命令是()。ASELECT BINSERT CUPDATE DDROP参考答案:D2以零作除数时会引发()异常。AVALUE_ERRORBZERO_DIVIDECSTORAGE_ERROR DSELF_IS_NULL参考答案:B3要更新游标结果集中的当前行,应使用()子句。AWHERE CURRENT OFBFOR UPDATECFOR DELETEDFOR MODIFY参考答案:A4下面不是常用的数据对象权限的是()ADELETEBREVOKECINSERT DUPDATE 参考答案:B5用于修改
27、表中数据的语句是()AEDITBMODIFYCUPDATE DALTER 参考答案:D6在只读表空间上可以执行以下哪些操作?()ACREATE TABLEBALTER TABLECDROP TABLEDINSERT参考答案: C 三、简答题1简述DETELE操作与TRUNCATE操作的异同。参考答案:truncate,可以删除表中的所有记录,释放表空间,只保留表结构。delete,如果没有where条件,也是删除表中的所有记录,但是它不释放空间。TRUNCATE在各种表上无论是大的还是小的都非常快。如果有ROLLBACK命令DELETE将被撤销,而TRUNCATE则不会被撤销。RUNCATE将
28、重新设置高水平线和所有的索引。在对整个表和索引进行完全浏览时,经过TRUNCATE操作后的表比DELETE操作后的表要快得多。2已有表文件teacher(教师代码(C),姓名(C),学院(C),职称(C),年龄(N),按照要求写出SQL语句。1查询职称为副教授的教师代码,姓名,学院,职称信息;2查询学院为“电信学院”并且职称为“讲师”的所有教师的信息,并将查询结果按年龄字段的降序排序。3将所有教师的年龄加1;4将表中年龄小于15岁的教师记录加上删除标记;参考答案:(1)select 教师代码,姓名,学院。职称 from teacher where 职称=副教授;(2)select * from
29、 teacher where 学院=电信学院 and 职称=讲师 order by 年龄 desc;(3)update teacher set 年龄=年龄+1;(4) delete from teacher where 年龄153有一个表T,有两个字段a,b,我们想在表T中做Insert/Update,如果存在,则更新T中b的值,如果不存在,则插入一条记录。假设待Insert/Update的记录为(a=001,b=100)。请使用MERGE命令完成。参考答案:MERGEINTOTT1USING(SELECT1001ASa,2ASbFROMdual)T2ON(T1.a=T2.a)WHENMATC
30、HEDTHENWHENNOTMATCHEDTHENINSERT(a,b)VALUES(T2.a,T2.b);一.填空题1创建视图的命令是_。若要保证插入或修改的数据行必须满足视图定义的约束,创建时附带的参数是_;若要保证视图上不能进行任何DML操作,创建时附带的参数是_。参考答案:CREATE VIEW、WITH CHECK OPTION、WITH READ ONLY2创建序列的命令是_。若要使序列的增量为5,创建时附带的参数是_;若要使序列开始值为10,创建时附带的参数是_。参考答案:CREATE SEQUENCE、INCREMENT BY 5、START WITH 103视图中的列并不都支
31、持DML操作,通过数据字典_可以了解视图中哪些列是可更新的。参考答案:user_updatable_columns4使用_可以获取序列的当前值,使用_可以获取下一个值。参考答案:currval、nextval5如果要清除索引中的存储碎片,可以对索引进行合并或_。参考答案:重建选择题1以下哪个视图可以查到用户具有使用权限的表的信息()AUSER_VIEWSBUSER_TABLESCALL_OBJECTSDUSER_OBJECTS参考答案:C2要查看当前用户下有哪些数据表格,适用下列哪个视图()AUSER_TABLEBTABCUSER_ALL_TABLESDTABLES_USER参考答案:C3可以
32、使用()伪列来访问序列。ACURRVAL和NEXTVAL BNEXTVAL和PREVALCCACHE和NOCACHE DMAXVALUE和MINVALUE参考答案:A4带有错误的视图可使用()选项来创建。AFORCEBWITH CHECK OPTIONCCREATE VIEW WITH ERRORDCREATE ERROR VIEW参考答案:A5在联接视图中,当()时,该基表被称为键保留表。A基表的主键不是结果集的主键B基表的主键是结果集的主键C基表的主键是结果集的外键D基表的主键不是结果集的外键参考答案:B6使用如下语句创建一个视图:CREATE VIEW test view ASFROM
33、student stu LEFT JOIN class cla ON stu.claid = cla.claid;请问test view视图中哪些列是可更新的?()AstunameBstuname, newageCstuname, clanameDstuname, newage, claname参考答案:A7如果创建一个序列,用于为表的主键列生成主键值,则创建该序列时不应该指定以下哪种参数?()AMAXVALUE 1000BMINVALUE 10CCACHE 10DCYCLE参考答案:D8如果在创建序列时指定其CACHE参数值为10,当序列的当前值为5时,数据库突然关闭,再次运行数据库后,序列
34、将从以下哪个值开始?()A5 B6C11D16参考答案:C9下列关于索引的描述哪一项是不正确的?()A表是否具有索引不会影响到所使用的sql的编写形式B为表创建索引后,所有的查询操作都会使用索引C为表创建索引后,可以提高查询的执行速度D为表创建索引后,Oracle优化器将根据具体情况决定是否采用索引参考答案:B三、简答题1简述表与视图的关系。参考答案:联系:视图(view)是在基本表之上建立的表,它的结构(即所定义的列)和内容(即所有数据行)都来自基本表,它依据基本表存在而存在。一个视图可以对应一个基本表,也可以对应多个基本表。视图是基本表的抽象和在逻辑意义上建立的新关系。2表结构说明:cre
35、ate table employee(id number(10) not null, 员工工号salary number(10,2) default 0 not null, 薪水name varchar2(24) not null 姓名(1)创建序列seq_employee,该序列每次取的时候它会自动增加,从1开始计数,不设最大值,并且一直累加,不循环。参考答案:create sequence seq_employee2 increment by 13 start with 14 nomaxvalue5 nocycle 6 /(2)写一个PL/SQL块,插入表user.employee中100
36、条数据。插入该表中字段id用序列seq_employee实现,薪水和姓名字段可以任意填写。参考答案:略3如果对视图的基表进行结构上的改动,将会影响视图的可用性。请基于一个表创建一个视图,在视图的子查询语句中使用*查询基表中的所有列,然后对该表进行结构修改,例如增加列、删除列,修改列名等,测试不同情况下视图的可用性,并思考其中的原因。参考答案:视图依赖于基础表的存在而存在,当基础表进行了结构上的修改后,有可能会对视图产生印象,如果要再次使用此试图,需要进行编译。4如果经常需要使用如下语句查询employee表中的员工信息:SELECT * FROM employee WHERE SUBSTRB(
37、ename , 0 , 2) = 李;那么应该为ename创建什么索引,如何创建?参考答案:创建基于函数的索引CREATE INDEX EANME_INDEXON employee (SUBSTRB(ename , 0 , 2)TABLESPACE myspace8.6 习题一.填空题1PL/SQL程序由三个块组成,即_、_、_。参考答案:声明部分、执行部分、异常处理部分2Oracle块根据应用模块功能,可以分为四种类型,分别是:_、_、_、_。参考答案:匿名块、命名块、子程序、触发器 3 Oracle的游标分为_、_。参考答案:显示游标、隐式游标4 Oracle 游标有4个属性,_判断游标是
38、否被打开,如果打开等于true,否则等于false;_判断游标所在的行是否有效,如果有效,则等于true,否则等于false,_属性与之相反;_返回当前位置为止游标读取的记录行数。参考答案:%ISOPEN、%FOUND、 %NOTFOUND、%ROWCOUNT 二、选择题1关于存储过程参数,正确的说法是()A存储过程的输出参数可以是标量类型,也可以是表类型B存储过程输入参数可以不输入信息而调用过程C可以指定字符参数的字符长度(函数的()或者过程的(number/varchar2))D以上说法都不对参考答案:B2下列说法,正确的说法是()A只要在存储过程中有增删改语句,一定加自治事务B在函数内可
39、以修改表数据C函数不能递归调用D以上说法都不对参考答案:B3利用游标来修改数据时,FOR UPDATE充分利用了事务的哪个特性?()A原子性B一致性C永久性D隔离性参考答案:D4下列哪个语句无需COMMIT而自动提交( )ACREATE TABLE t(t1 NUMBER,t2 NUMBER)BUPDATE t SET t1=123CDELETE FROM tDINSERT INTO t VALUES(1,3)参考答案:A5下列说法不正确的是()A在PLSQL自定义函数中如果包含UPDATE、DELETE、INSERT语句,不必在函数体内给出COMMIT;B自定义函数可以在SQL语句中调用、也
40、可以在PLSQL块中调用C自定义函数可以返回表类型D自定义函数中的参数可以是OUT类型参考答案:D6下面定义PL/SQL记录的语法正确的是()ATYPE IS RECORD BTYPE RECORDCRECORD DTYPE RECORD参考答案:A7在SQL*PLUS环境中可以利用DBMS_OUTPUT包中的PUT_LINE方法来回显服务器端变量的值,但在此之前要利用一个命令打开服务器的回显功能,这一命令是()A set server onB set serverecho onC set servershow onD set serveroutput on参考答案:D三、简答题1简述NO_D
41、ATA_FOUND和%NOTFOUND两个保留字的用法。参考答案:SELECT.INTO语句触发NO_DATA_FOUND;当一个显示光标的 where 子句未找到时触发 %NOTFOUND;当UPDATE或DELETE 语句的where 子句未找到时触发 SQL%NOTFOUND;在光标的提取(Fetch)循环中要用 %NOTFOUND 或%FOUND 来确定循环的退出条件,不要用 NO_DATA_FOUND。2简述PL/SQL的异常处理机制。参考答案:当发生错误时,程序无条件转到异常处理部分,这就要求代码要非常干净并把错误处理部分和程序的其它部分分开。oracle允许声明其他异常条件类型以扩展错误/异常处理。这种扩展使PL/SQL的异常处理非常灵活。当一个运行时错误发生时,称为一个异常被抛出。PL/SQL程序编译时的