ORACLE10G数据库管理应用与开发课后答案.doc_第1页
ORACLE10G数据库管理应用与开发课后答案.doc_第2页
ORACLE10G数据库管理应用与开发课后答案.doc_第3页
ORACLE10G数据库管理应用与开发课后答案.doc_第4页
ORACLE10G数据库管理应用与开发课后答案.doc_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

oracle 10g 数据库管理应用与开发 课后习题答案(填空与选择题)填空题第二章1. oracle数据库系统的物理存储结构主要由3类文件组成,分别为数据文件、日志文件、控制文件。2. 用户对数据库的操作如果产生日志信息、则该日志信息首先被存储在日志缓冲区中,随后由lgwr进程保存到日志文件。3. 一个表空间物理上对应一个或多个数据文件。4. 在oracle的逻辑存储结构中,根据存储数据的类型,可以将段分为数据段、索引段、回退段、lob段和临时段。5. 在oracle的逻辑存储结构中,数据块是最小的i/o单元。6. 在多进程oracle实例系统中,进程分为用户进程、后台进程和服务器进程。当一个用户运行应用程序,如pro*c程序或一个oracle工具(如sql*plus),系统将为用户运行的应用程序建立一个用户进程。第三章1. 标准的sql语言语句类型可以分为:数据定义语句(ddl)、数据操纵语句(dml)和数据控制语句(dcl)。2. 在需要滤除查询结果中重复的行时,必须使用关键字distinct;在需要返回查询结果中的所有行时,可以使用关键字all。3. 如果需要在select子句中包括一个表的所有列,可使用符号*。4. 如果定义与组有关的搜索条件,可以把group by 子句添加到select语句中。5. 当进行模糊查询时,就使用关键字like和通配符_或百分号%。6. where子句可以接收from子句输出的数据,而having子句则可以接收来自group by、from或where子句的输入。7. 使下列sql语句中添加适当的表达式或子句,使语句可以正常运行。select 供应商所在城市,count(供应商编号)from 供应商信息group by 供应商所在城市order by 2 desc;第四章1. 在sql语句中,用于向表中插入数据的语句是insert。2. 如果需要向表中插入一批已经存在的数据,可以在insert语句中使用select语句。3. 创建一个update语句来修改artists表中的数据,并且把每一行的t_id值都改成15,应该使用的sql语句是update artists set t_id=15;。4. 使用describe命令可以显示表的结构信息。5. 使用sql*plus的get命令可以将文件检索到缓冲区,并且不执行。6. 当设置了多个列的显示属性后,如果清除设置的显示属性,可以使用命令clear column,而当要清除某列具体的显示属性时,需要使用命令off/column 列名 clear。7. 使用save命令可以将缓冲区中的sql命令保存到一个文件中,并且可以使用start命令运行该文件。8. 要设置sql*plus显示数字时的格式可以使用numformat命令,而要设置某个数字列的显示格式要使用column命令。第五章1. 在oracle系统中,为了实现对表、视图和索引等数据库对象进行管理,oracle采用模式实现。2. 一个模式只能够被一个数据库用户所拥有,其创建的所有模式对象都保存在自己的模式中。3. char数据类型与varchar2类型都用于存储字符串。如果定义了char类型的字段,并且向其赋值时,字符串的长度小于定义的长度,则使用空格填充;而varchar2类型的字段用于存储变长的字符串,即如果向该列赋值的字符长度小于定义时的长度,该列的字符长度只会是实际字符数据的长度,系统不会使用空格填充。4. rowid实际上保存的是记录的物理地址,因此通过rowid来访问记录右以获得最快的访问速度。5. 在storage子句中可以设置6个存储参数。其中,initial指定为表中的数据分配的第一个盘区的大小;next指定为存储表中的数据分配的第二个盘区大小;pctincrease指定从第二个盘区之后,每个盘区相对于上一个盘区的增长百分比;minextents指定允许为表中的数据所分配的最小盘区数目;maxextents指定允许为表中的数据所分配的最大盘区数目。6. 通过数据块空间管理参数可以控制数据块中空闲空间的使用方法,其中pctfree用于控制数据块的更新预留的空间,而pctused用于控制数据块在删除时释放空间的门槛。7. 为student表手动分配存储空间,并且大小由next参数设置,则应使用的语句为alter table student allocate extent; ;如果为student表手动分配了一个大小为128kb的新盘区,则应使用的语句为alter table student allocate extent(size 128k); 。8. 填写下面语句,使其可以将class表移动到表空间system中的数据段,并且其初始化盘区为30kb,第二个盘区为20kb,随后分配的盘区不会增长。alter table class movetablespace systemstorage (initial 30knext 20kpctincrease 0maxextents unlimited);9. 根据约束的作用域,约束可以分为表级约束和列级约束两种。列级约束是字段定义的一部分,只能够应用在一个列上;而表级约束的定义独立于列的定义,它可以应用于一个表中的多个列。10. 填写下面的语句,使其可以为class表的id列添加一个名为pk_class_id的主键约束。alter table classadd constraint pk_class_id primary key(id)11. 假设已经创建了chained_rows表,填写下面的语句,以便对“业务员信息”表进行链接记录分析:analyze table 业务员信息list chained rows into chained_rows第六章1. 在使用逗号连接的多表查询中,为了防止出现笛卡儿积,需要select语句的where子句中提供连接条件。2. 使用逗号连接的多表查询中,用户可以根据下述基本原则创建需要的各种查询:from子句应当包括所有的表名,在where子句中应定义一个连接条件,当列名为多个表共有时,列名必须被限制。3. 自然连接为具有相同名称的列自动进行记录匹配,它不必指定任何同等连接条件。4. 集合运算符union实现了集合的并运算,操作intersect实现了对集合的交运算,而minus则实现了减运算。5. 使用关键字连接子查询时,exists关键只注重子查询是否返回行,如果子查询返回一个或多个行,那么便返回为真,否则为假。第七章1. pl/sql程序块主要包含3个主要部分:声明部分、可执行部分和异常处理部分。2. 使用显式游标主要有4个步骤:声明游标、打开游标、检索数据、关闭游标。3. 在pl/sql中,如果select语句没有返回列,则会引发oracle错误,并引发no_data_found异常。4. 自定义异常必须使用raise语句引发。5. 查看操作在数据表中所影响的行数,可通过游标的%rowcount属性实现。6. 查看下面的程序块,dbms_output将显示什么结果? n declare var_a char(1):=n;begin declare var_a char(2); begin var_a:=y; end; dbms_output.put_line(var_a);end;7. 查看下面的程序块,其中变量var_b的结果为 5 。declare var_a number:=1200; var_b number;begin if var_a500 then var_b:=5;elsif var_a1000 then var_b:=10;else var_b:=8;end if;end;8. 下列程序计算由09之间的任意3个不相同的数字组成的三位数,共有多少种不同的组合方式?完成下列程序使其能够正确运行。declare counter number:=0;begin for i in 1.9 loop for j in 0.9 loop if i!=j then for k in 0.9 loop if k!=i and k!=j counter:=counter+1; end if; end loop; end if; end loop; end loop; dbms_output.put_line(counter);end;第八章1. 在下面程序的空白处填写一定的代码,使该函数可以获取指定编号的商品价格。create or replace function get_price(p_id varchar2)return number isis v_price number;begin select 单价 into v_price from 商品信息 where 商品编号=p_id; return v_price;exception when no_data_found then dbms_output.put_line(查找的商品不存在!); when too_many_rows then dbms_output.put_line( 程序运行错误!请使用游标); when others then dbms_output.put_line(发生其他错误!);end get_price;2. 假设有一个程序包,其中包含了两个重载的函数max。写出下面程序调用max函数后的运行结果。程序包主体:create or replace package bodytest is function max(x in number,y in number) return number is result number; begin if xy then result:=x; else result:=y; end if; return (result) end max;function max(x in number,y in number,z in number) return number is result number; beginresult:=test.max(x,y);result:=test.max(result,z);return(result); end max;end;运行结果: 21 3. 在下面程序的空白处填写适当的代码,使得调用该过程时可以统计某产地的商品数量和总价。create or replace procedure proc_demo(merch_place in varchar2,price_sum out number,merch_count out number)isbeginselect sum(单价),count(*) into price_sum,merch_countfrom 商品信息 where 产地=merch_place;exception when no_data_found then dbms_output.put_line(所需数据不存在!); when others then dbms_output.put_line(发生其他错误!);end proc_demo;第九章1. 为了建立外部表,首先需要指示数据文件在操作系统上的位置。现在假设在操作系统的f:datafile文件夹中存有一个数据文件,使用create directory exterior_data as f:datafile;语句使oracle可以访问数据文件。2. 在使用create table 语句创建索引组织表时,必须使用organization index子句指示创建的表为索引组织表,并且为索引组织表指定主键。3. pctthreshold指定一个数据块的百分比,当一行中的数据占用空间大于这个百分比时,该行将被分隔到两个位置存储:主键列被存储在基本索引段中,所有其他列被存储在溢出段中。4. oracle中的临时表可以分为事务级临时表和会话级临时表,创建事务级别的临时表,需要使用on commit delete rows子句;创建一个会话级别的临时表,则需要使用on commit preserver rows子句。5. 在创建对象类型时,用户不必特意创建构造函数,它由系统隐式创建,名称与对象类型的名称相同,并且它会接收对象类型的所有属性作为它的参数。6. 如果用户想要对对象类型的实例进行比较排序,则需要使用映射方法map,它最重要的一个特点是:当在where或order by 等比较关系子句中使用对象时会被间接地使用。7. 有两种方法向对象表添加数据:一种是像关系表一样在insert的values子句中,为对象的每个属性提供值,隐式地创建对象类型实例,向对象表添加数据;另一种方式是显式地创建对象实例,然后再将它添加到对象表。8. oracle数据库提供对表或索引的分区方法有5种:范围分区、散列分区、列表分区、组合范围散列分区和组合范围列表分区。9. 簇是一种用于存储数据表中数据的方法。簇实际是一组表,由一组共享相同数据块的多个表组成。第十章1. b树索引可以是唯一的或者不唯一的,唯一的b树索引可以保证索引列上不会有重复的值。2. 在为表中某个列定义primart key约束pk_id后,则系统默认创建的索引名为pk_id。3. 在b树索引中,通过在索引中保存排过序的索引列的值与相对应的rowid来实现快速查找。4. 如果表中某列的基数比较低,则应该在该列上创建位图索引。5. 如果要获知索引的使用情况,可以通过查询v$object_usage视图;而要获知索引的当前状态,可以查询index_stats视图。第十一章1. 在不为视图指定列名的情况下,视图列的名称将使用表列的名称。2. 视图与数据库中的表非常相似,用户也可以在视图进行insert、update、和delete操作。通过视图修改数据时,实际上是在修改基本表中的数据;相应地,改变基本表中的数据也会反映到该表产生的视图中。3. 视图是否可以更新,这取决于定义视图的select语句,通常情况下,该语句越复杂,创建的视图可以更新的可能性也就越小。4. 下面的语句创建了一个序列对象,该序列对象的开始数为2,每次递增2,当大于1000后,序列值重新返回到2.在空白处填写适当的代码,完成上述要求。create sequence seg_teststart with 2increment by 2maxvalue 1000cycle;第十二章1. 假设有一个表test,它仅包含一个字段data。现在创建一个触发器,实现将添加的数据变大写。在下面的空白处填写适当的语句,使之可以正常运行。create or replace trigger test_triggerafter insert on test for each rowbegin :new.data:=upper(:new.data);end;2. before和after指定了触发器的触发时间。当为一个表配置了约束时,它们将会特别有用,before可以规定oracle在应用约束前调用触发器,而after规定在应用约束后调用触发器。3. 假设有一个名为action_type的表,它记录了对student表的操作。在空白处填写适当的代码,完成上述功能。create or replace trigger biud_student_triggerbefore insert or update or delete on studentdeclare action action_type.type%type;begin if inserting then action:=insert; elsif updating then action:=update; elsif deleting then action:=delete; end if; insert into action_type value(user,action);end;第十三章1.事务的acid特性包括原子性、一致性,隔离性和永久性。2.在设置事务隔离层时,需要使用关键字set transaction。3.可以用set constraint constraint_name deferred语句,启用某个约束的延期应用,而使用set constraint all deferred语句可以设置本事务中所有约束的延期应用;语句set constraint all immediate可以设置约束的应用。4.在众多的事务控制语句中,用来撤销事务的操作的语句为rollback,用于持久化事务对数据库操作的语句是commit。5.当oracle检测到死锁后,它会选择一个事务退出。选择退出事务的原则是执行修改数目最小的事务。6.锁粒度与数据库系统的并发度和并发控制的开销密切相关。锁粒度越大,数据库中所能够使用的资源也就越少,并发度也就越小,系统开销也就越小。7.当对某个表加srx锁时,则表中行的锁类型为dml锁。第十四章1. 如果要获取数据库中创建的配置文件的信息,可以通过查询数据字典视图dba_profiles。2. 在oracle数据库中将权限分为两类,即系统权限和对象权限。系统权限是指在系统级控制数据库的存取和使用机制,对象权限是指在模式对象上控制存取和使用的机制。3. 角色是具有名称的一组相关权限的组合。4. 连接到数据库的最低系统预定义角色是connect。5. 在用户连接到数据库后,可以查询数据字典role_sys_privs了解用户所具有的系统权限。第十五章1. 表空间的管理类型可以分为数据字典管理和本地化管理。2. 在oracle的早期版本中,对撤销信息的管理采用手动管理撤销,从oracle 9i后采用自动撤销管理方式管理撤销信息。3. 一个表空间具有离线(offline)、在线(online)、只读(read only)、读写(readwrite)状态。4. 在创建undo表空间时,所使用的表空间管理方式为本地化管理,并且盘区的管理方式只允许使用autoallocate方式。5. 在创建本地化管理临时表空间时,不得指定盘区的管理方式为autoallocate,临时表空间的盘区管理统一使用uniform方式。选择题第二章1. 下列选项中,哪一部分不是oracle实例的组成部分? c a. 系统全局区sga b. pmon后台进程 c.控制文件 d.dnnn调度进程2. 在全局存储区sga中,哪部分内存区域是循环使用的? b a. 数据缓冲区 b.日志缓冲区 c.共享池 d.大池3. 解析后的sql语句在sga的哪个区域中进行缓存? c a. 数据缓冲区 b.日志缓冲区 c.共享池 d.大池4. 如果一个服务进程非正常终止,oracle系统将使用下列哪一个进程来释放它所占用的资源? d a. dbwr b.lgwr c.smon d.pmon5. 如果服务器进程无法在数据缓冲区中找到空闲缓存块,以添加从数据文件中读取的数据块,则将启动如下哪一个进程? d a. ckpt b.smon c.lgwr d.dbwr6. 下列关于共享服务器模式的叙述哪一项不正确? a a. 在共享服务器操作模式下,每一个用户进程必须对应一个服务器进程b. 一个数据库实例可以启动多个调度进程c. 在共享服务器操作模式下,oracle实例将启动调度进程dnnn为用户进程分配服务进程d. 共享服务器操作模式可以实现少量服务器进程为大量用户进程提供服务7. 当数据库运行在归档模式下时,如果发生日志切换,为了保证不覆盖旧的日志信息,系统将启动如下哪一个进程? d a. dbwr b.lgwr c.smon d.arch8. 下列哪一个进程和数据库部件可以保证用户对数据库所做的修改在没有保存的情况下,不会发生丢失修改数据? c a. dbwr和数据文件 b.lgwr和日志文件组 c.ckpt和控制文件 d.arch和归档日志文件9. 下列哪一个进程用于将修改过的数据从内存保存到磁盘数据文件中? a a. dbwr b.lgwr c.reco d.arch10. 如果要查询数据库中所有表的信息,应当使用下列哪种数据字典视图? a a.dba视图 b.all视图 c.user视图 d.动态性能视图11.下列哪一项是oracle数据库中最小的存储分配单元? d a. 表空间 b.段 c.盘区 d.数据块12.下面的各项中哪一个正确描述了oracle数据库的逻辑存储结构? a a. 表空间由段组成,段由盘区组成,盘区由数据块组成b. 段由表空间组成,表空间由盘区组成,盘区由数据块组成c. 盘区由数据块组成,数据块由段组成,段由表空间组成d. 数据块由段组成,段由盘区组成,盘区由表空间组成第三章1. 下列的哪个子句在select语句中用于排序结果集? d a. having子句 b.where子句 c.from子句 d.order by 子句2. 为了去除结果集中重复的行,可在select语句中使用下列哪个关键字? b a. all b.distinct c.spool d.having3. 下列哪个关键字或子句用来限定查询结果集中的行? b a. select b.where c.update d.insert4. group by 子句的作用是什么? a a. 查询结果的分组条件 b.组的筛选条件 c.限定返回的行的判断条件 d.对结果集进行排序5. having子句的作用是 b a. 查询结果的分组条件 b.组的筛选条件 c.限定返回的行的判断条件 d.对结果集进行排序6. 下列哪个函数可以把一个列中的所有值相加求和? b a. max b.sum c.count d.avg7. 下列哪个子句是select语句中必选项? a a. from b.where c.having d.order by8. 当使用三角函数cos求余弦时,应以 b 为单位传递参数。a. 角度 b.弧度 c.角度和弧度均可 d.上述都不对9. 下列哪个子句实现对一个结果集进行分组和汇总? d a. having b.order by c.where d.group by10. 查询一个表的总记录数,可以采用 c 统计函数。a.avg(*) b.sum(*) c.count(*) d.max(*)第四章1. 要建立一个语句向types表中插入数据,这个表只有两列,t_id和t_name列。如果要插入一行数据,这一行的t_id值是100,t_name值是fruit。应该使用的sql语句是 a 。a. insert into types values(100,fruit)b. select * from types where t_id=100 and t_name=fruitc. update set t_id=100 from types where t_name=fruitd. delete * from types where t_id=100 and t_name=fruit2. 用 a 语句修改表的一行或多行数据。a. update b.set c.select d.where3. 要建立一个update语句更新表的某一列数据,且更新的数据为表统计的结果。则需要在update语句中使用什么语句? c a. update b.set c.select d.where4. delete语句中用 b 语句或子句来指明表中所要删除的行。a. update b.where c.select d.insert5. 使用什么命令可以清除表中所有的内容? d a. insert b.update c.delete d.truncate6. 如果要设置sql*plus每页打印的数量,则可以使用如下的哪个命令? c a. set page b.pagesize c.set pagesize d.size7. 以下的哪个命令可以将sql命令保存到文件中 a 。而哪个命令可以将sql命令的运行结果保存到文件中 b 。a. save b.spool c.get d.input第五章1. 下列哪个对象属于模式对象? c a. 数据段 b.盘区 c.表 d.表空间2. 关于模式的描述下列哪一项不正确? c a. 表或索引等模式对象一定属于某一个模式 b. b.在oracle数据库中,模式与数据库用户是一一对应的c. 一个表可以属于多个模式d. 一个模式可以拥有多个表3. 如果一个表中某条记录的一个字段暂时不具有任何值,那么在其中将保存什么内容? c a. 空格字符 b.数字0 c.null d.该字段数据类型的默认值4. 下列哪一项不是伪列rowid的作用? d a. 保存记录的物理地址 b.快速查询指定的记录 c.标识各条记录 d.保存记录的头信息5. 下列哪一项错误地描述了默认值的作用? b a. 为表中某列定义默认值后,如果向表中添加记录而未为该列提供值,则使用定义的默认值代替b. 如果向表中添加记录并且为定义默认值的列提供值,则该列仍然使用定义的默认值c. 如果向表中添加记录并且为定义默认值的列提供值,则该列使用提供的值d. 向表中添加记录时,如果定义默认值的列提供值为null,则该列使用null值6. 某用户需要创建一个很小的表,但是该表会被许多查询使用,这时用户应当在创建该表时指定下列哪个子句? b a. pctfree和pctused b.cache c.nologging d.tablespace7. 为了减少表中的链接记录和迁移记录,应当增大表的哪一个存储参数? a a.pctfree b.pctused c.maxextents d.pctincrease8.唯一约束与主键约束的一个区别是? d a.唯一约束的列的值不可以有重复值 b.唯一约束的列的值可以不是唯一的c.唯一约束的列不可以为空值 d.唯一约束的列可以为空值9.如果为表employee添加一个字段email,现在规定每个雇员都必须具有唯一的email地址,则应当为email字段建立哪种约束? b a.primary key b.unique c.check d.not null第六章1. 下列哪一种连接与逗号分隔连接执行的效果相同? c a. 外连接 b.交叉连接 c.自然连接 d.内连接2. 如果只需要返回匹配的列,则应当使用哪种连接? a a. 内连接 b.交叉连接 c.左连接 d.全连接3. 下列select语句中,哪些子句可以包含子查询? c a. select b.group by c.where d.order by4. 如果使用逗号分隔连接查询两个表,其中一表有20行,而另一个表有50行,如果未使用where子句,则将返回多少行? b a.20 b.1000 c.50 d.5005. 下列的select语句中哪个不能正常运行? d a.select std,sname,sclass,cname from student s,class cwhere sclass=cid; b.select * from student s,class c where sclass=cid;c.select s.sid,s.name,sclass,c.cname from student s,class cwhere s.sclass=c.cid;d.select s.sid,s.sname,sclass,c.cname from studentwhere sclass s in (select cid from clas c);6. 下面的 a select语句用于查询school模式中的student、class和department表中的信息。完成该语句,使其可以正常运行。select s.sname,s.saddress,ame,d.dname,d.dofficefrom student s _ class c _ _ department dwhere d.dname=法律系;a. join、on s.sclass=c.cid、join、on d.did=c.departmentb. natural join、on d.did=c.department、join、on s.sclass=c.cidc. cross join、on s.sclass=c.cid、join、on d.did=c.derpartmentd. join、on s.sclass=c.cid、natural join、on d.did=c.department7. 在下面各选项中, b 与下面select语句的查询结果相同。select sid,sname,saddress from studentwhere sclass=c0010545 or sclass in( select cid from class where department in( select did from department where dname=化工系);a.select sid,sname,saddress from student where sclass=c0010545intersectselect sid,sname,saddress from student s,class cwhere s.sclass=c.cid and c.department in (select did from department where dname=化工系);b.select sid,sname,saddress from student where sclass=c0010545unionselect sid,sname,saddress from student s,class cwhere s.sclass=c.cid and c.department in (select did from department where dname=化工系);c.select * from student where sclass=c0010545unionselect * from student s,class c where s.sclass=c.cid and c.department in (select did from department where dname=化工系);d.select sid,sname,saddress from student where sclass=c0010545minusselect sid,sname,saddress from student s,class cwhere s.sclass=c.cid and c.department in (select did from department where dname=化工系); 第七章1. 以下定义的哪个变量是非法的? b a. var_ab number(3); b.var_ab number(3) not null:=0; c.var_ab number(3) default:=1; d.var_ab number(3):=3;2. 下列哪一个不是boolean变量可能的取值? d a. true b.false c.null d.blank3. 只能存储一个值的变量是哪种变量? b a. 游标 b.标量变量 c.游标变量 d.记录变量4. 声明%type类型的变量时,服务器将会做什么操作? a a. 为该变量检索数据库列的数据类型 b.复制一个变量 c.检索数据库中的数据 d.为该变量检索列的数据类型和值5. 下列哪一项可以正确地引用记录变量中的一个值? b a. rec_abc(1); b.rec_abc(1).col; c.rec_abc.col; d.rec_abc.first(); 6. 下列哪个语句允许检查update语句所影响的行数? b a. sql%found b.sql%rowcount c.sql%countd d.sql%notfound7. 在定义游标时使用的for update子句的作用是 b a. 执行游标 b.执行sql语句的update语句 c.对要更新表的列进行加锁 d.都不对8. 对于游标for循环,以下哪一种说法是不正确的? d a. 循环隐含使用fetch获取数据 b.循环隐含使用open打开记录集c.终止循环操作也就关闭了游标 d.游标for循环不需要定义游标9. 下列哪个关键字用来在if语句中检查多个条件? bc a. else if b.elsif c.elsif d.elsifs 10. 如何终止loop循环,而不会出现死循环? c a. 在loop语句中的条件为false时停止 b.这种循环限定的循环次数,它会自动终止循环c.exit when 语句中的条件为true d.exit when 语句中的条件为false 11. 下列哪一项可以正确引用记录表变量中的一个值? b a. tab_abc(1); b.tab_abc(1).col c.tab_abc.col; d.tab_abc.first();12. 如果pl/sql程序块的可执行部分引发了一个错误,则程序的执行顺序将发生什么变化? a a. 程序将转到exception部分运行 b.程序将中止运行c.程序仍然正常运行d.以上都不对 第八章 1.下列哪个语句可以在sql*plus中直接调用一个过程? d a.return b.call c.set d.exec2.下面哪些不是过程中参数的有效模式? c a.in b.in out c.out in d.out3.如果存在一个名为test的过程,它包含3个参数:第一个参数为p_num1,第二个参数为p_num2,第三个参数为p_num3。3个参数的模式都是in。p_num1参数的数据类型是number,p_num2参数的数据类型是varchar2,第三个参数的数据类型是varchar2。下列哪一个是该过程的有效调用? d a. test(1010,p_num3=abc,p_num2=bcd)b.test(p_num1=1010,p_num2=abc,bcd)c.test(p_num1=1010,abc,bcd)d.上述都对 4. 函数头部中的return语句的作用是什么? a a. 声明返回的数据类型 b.声明返回值的大小和数据类型 c.调用函数 d.函数头部不能使用return语句 5. 根据下面的匿名程序块 ,判断check_value程序单元是否为一个函数? d declare v_test number;begin if v_test 10 then check_value(v_test); end if;end;a. 可以为一个函数 b.可以,但函数必须不包含任何sql语句 c.可以,但需要初始化变量v_test d.不可以 6. 如果在程序包的主体中包括了一个过程,但没有在程序包规范中声明这个过程,那么它将会被认为是 d 。a. 非法的 b.公有的 c.受限的 d.私有的7. 如果创建了一个名为userpkg的程序包,并在程序包中包含了名为test的过程。下列哪一个是对这个过程的合法调用? b a. test(10) b.userpkg.test(10) c.test.userpkg(10) d.test(10).userpkg8. 可以引用哪个数据字典视图来查看软件包中包含的代码? c a. user_objects b.user_package_text c.user_source d.user_text9. 对于下面的函数,哪个语句将成功地调用? d create or replace function calc_sum(addend_x number,addend_y number) return number assum number;begin sum :=addend_x+addend_y; return sum;end;a. calc_sum b.execute calc_sum(45) c.execute calc_sum(23,12) d.sum:=calc_sum(23,12)10. 当满足下列哪种条件时,允许两个过程具有相同的名称? b a. 参数的名称或数量不相同时 b.参数的数量或数据类型不相同时c.参数的数据类型和名称不相同时 c.参数的数量和数据类型不相同时第九章1. 假设两个数据文件t1和t2,下面的 a 选项可以完成外部表的创建。create table test_table(ms_id varchar(20), tip varchar(20), desc varchar(20)organization _ ( _ oracle_loader default directory test_dir _ parameters( badfile bad_dev.txt logfile log_dev.txt fields terminated by ,) _ (f1.txt,f2.txt);a. external、type、access、location b. index、typ

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论