Oracle练习题分析

合集下载

Oracle经典练习题及标准答案

Oracle经典练习题及标准答案

Oracle经典练习题及标准答案oracle经典练习sql/*1、选择在部门30中员工的所有信息*/select * from scott.emp where deptno = '30'/*2、列出职位为(MANAGER)的员工的编号,姓名*/select empno, ename from scott.emp where job = 'MANAGER'/*3、找出奖金高于工资的员工*/select * from scott.emp where comm > sal/*4、找出每个员工奖金和工资的总和*/select ename, sal + nvl(comm, 0) from scott.emp/*5、找出部门10中的经理(MANAGER)和部门20中的普通员工(CLERK) */select *from scott.empwhere deptno = '10'and job = 'MANAGER'unionselect *from scott.empwhere job = 'CLERK'and deptno = '20'/*6、找出部门10中既不是经理也不是普通员工,而且工资大于等于2000的员工*/ select *from scott.empwhere job != 'MANAGER'and job != 'CLERK'and sal > 2000/*7、找出有奖金的员工的不同工作*/select distinct(job) from scott.emp where comm is not null /*8、找出没有奖金或者奖金低于500的员工*/select *from scott.empwhere comm is not nulland comm > 500/*9、显示雇员姓名,根据其服务年限,将最老的雇员排在最前面*/select enamefrom scott.emporder by (months_between(sysdate, hiredate) / 12) descselect ename,hiredate from scott.emp order by hiredate/*10、找出每个月倒数第三天受雇的员工*/select * from scott.emp where hiredate = last_day(hiredate) - 2/*11、分别用case和decode函数列出员工所在的部门,deptno=10显示'部门10',deptno=20显示'部门20'deptno=30显示'部门30'deptno=40显示'部门40'否则为'其他部门'*/select ename,case deptnowhen 10 then'部门10'when 20 then'部门20'when 30 then'部门30'when 40 then'部门40'else'其他部门'end 工资情况from scott.empselect ename,decode(deptno,10,'部门10',20,'部门20',30,'部门30',40,'部门40','其他部门') 工资情况from scott.emp/*12、分组统计各部门下工资>500的员工的平均工资*/select avg(sal) from scott.emp where sal > 500 group by deptno/*13、统计各部门下平均工资大于500的部门*/select deptno from scott.emp group by deptno having avg(sal) > 500 /*14、算出部门30中得到最多奖金的员工奖金*/ select max(comm) from scott.emp where deptno = 30/*15、算出部门30中得到最多奖金的员工姓名*/select enamefrom scott.empwhere deptno = 30and comm = (select max(comm) from scott.emp where deptno = 30) /*16、算出每个职位的员工数和最低工资*/select count(ename), min(sal), job from scott.emp group by job/*17、列出员工表中每个部门的员工数,和部门no */select count(ename), deptno from scott.emp group by deptno/*18、得到工资大于自己部门平均工资的员工信息*/select *from scott.emp ewhere sal > (select avg(sal) from scott.emp where e.deptno = deptno)select *from scott.emp e1,(select avg(sal) sals, deptno from scott.emp group by deptno) e2where sal > salsand e1.deptno = e2.deptno/*19、分组统计每个部门下,每种职位的平均奖金(也要算没奖金的人)和总工资(包括奖金) */select avg(nvl(comm,0)), sum(sal + nvl(comm, 0))from scott.empgroup by deptno,job/*20、笛卡尔集*/select * from scott.emp, scott.dept/*21、显示员工ID,名字,直属主管ID,名字*/select empno,ename,mgr,(select ename from scott.emp e1 where e1.empno = e2.mgr) 直属主管名字from scott.emp e2/*22、DEPT表按照部门跟EMP表左关联*/select *fromscott.dept, scott.empwherescott.dept.deptno = scott.emp.deptno(+)/*23、使用此语句重复的内容不再显示了*/select distinct (job) from scott.emp/*24、重复的内容依然显示*/select *from scott.empUNION ALLselect * from scott.emp/*23和24题和22题是一样的*//*25、只显示了两个表中彼此重复的记录。

Oracle练习题讲解

Oracle练习题讲解

一、填空1.在多进程Oracle实例系统中,进程分为用户进程、后台进程和服务进程。

2.标准的SQL语言语句类型可以分为:数据定义语句(DDL)、数据操纵语句(DML)和数据控制语句(DCL)。

3.在需要滤除查询结果中重复的行时,必须使用关键字Distinct; 在需要返回查询结果中的所有行时,可以使用关键字ALL。

4.当进行模糊查询时,应使用关键字like和通配符问号(?)或百分号"%"。

5.Where子句可以接收From子句输出的数据,而HA VING子句则可以接收来自WHERE、FROM或GROUP BY子句的输入。

6.在SQL语句中,用于向表中插入数据的语句是Insert。

7.如果需要向表中插入一批已经存在的数据,可以在INSERT语句中使用Select 语句。

8.使用Describe命令可以显示表的结构信息。

9.使用SQL*Plus的Get命令可以将文件检索到缓冲区,并且不执行。

10.使用Save命令可以将缓冲区中的SQL命令保存到一个文件中,并且可以使用Run命令运行该文件。

11.一个模式只能够被一个数据库对象所拥有,其创建的所有模式对象都保存在自己的模式中。

12.根据约束的作用域,约束可以分为表级约束和列级约束两种。

列级约束是字段定义的一部分,只能够应用在一个列上;而表级约束的定义独立于列的定义,它可以应用于一个表中的多个列。

13.填写下面的语句,使其可以为Class表的ID列添加一个名为PK_CLASS_ID 的主键约束。

ALTER TABLE ClassAdd ____________ PK_LASS_ID (Constraint)PRIMARY KEY ________ (ID)14. 每个Oracle 10g数据库在创建后都有4个默认的数据库用户:system、sys、sysman和DBcnmp15. Oracle提供了两种类型的权限:系统权限和对象权限。

oracle练习题及答案

oracle练习题及答案

oracle练习题及答案Oracle练习题及答案Oracle是一种强大的关系数据库管理系统,被广泛应用于企业级应用程序和数据管理中。

为了帮助大家更好地掌握Oracle数据库的知识,以下是一些Oracle练习题及答案,希望能够帮助大家更好地理解和掌握Oracle数据库的知识。

1. 什么是Oracle数据库?Oracle数据库是一种关系数据库管理系统,由美国Oracle公司开发。

它是一种高性能、可靠性高的数据库系统,被广泛应用于企业级应用程序和数据管理中。

2. Oracle数据库的特点有哪些?Oracle数据库具有以下特点:高性能、高可用性、可伸缩性、安全性高、灵活性强、易管理等。

3. 如何创建一个新的数据库用户?在Oracle数据库中,可以使用以下SQL语句来创建一个新的数据库用户:```CREATE USER username IDENTIFIED BY password;```4. 如何查看Oracle数据库中所有的表?可以使用以下SQL语句来查看Oracle数据库中所有的表:```SELECT table_name FROM user_tables;```5. 如何在Oracle数据库中插入一条新的记录?可以使用以下SQL语句来在Oracle数据库中插入一条新的记录:```INSERT INTO table_name (column1, column2, column3, ...) VALUES (value1, value2, value3, ...);```6. 如何在Oracle数据库中更新一条记录?可以使用以下SQL语句来在Oracle数据库中更新一条记录:```UPDATE table_name SET column1 = value1, column2 = value2, ... WHERE condition;```7. 如何在Oracle数据库中删除一条记录?可以使用以下SQL语句来在Oracle数据库中删除一条记录:```DELETE FROM table_name WHERE condition;```通过以上Oracle练习题及答案的学习,相信大家对Oracle数据库有了更深入的了解。

Oracle基础(习题卷28)

Oracle基础(习题卷28)

Oracle基础(习题卷28)说明:答案和解析在试卷最后第1部分:单项选择题,共60题,每题只有一个正确答案,多选或少选均不得分。

1.[单选题]数据库中用于恢复数据的重要文件是()A)备份文件B)恢复文件C)日志文件D)备注文件2.[单选题]在 Oracle 中,有一个名为 seq 的序列对象,以下语句能返回序列值但不会引起序列 值增加的是()。

A)select seq.ROWNUM from dual;B)select seq.ROWID from dual;C)select seq.CURRVAL from dual;D)select seq.NEXTVAL from dual;3.[单选题]查询员工工资信息时,结果按工资降序排列,正确的是A)ORDER BY 工资B)ORDER BY 工资 descC)ORDER BY 工资 ascD)ORDER BY 工资 dictinct4.[单选题]假设表包含3个字段NAMW、SEX、BIRTHMONTH,分别保存姓名、性别和出生年月这3类数据,应当为这类数据( )。

A)创建树索引B)创建位图索引C)分别创建树索引、位图索引、位图索引D)分别创建树索引、位图索引、树索引5.[单选题]Your production database uses file system storage. You want to move storage to Oracle Automatic StorageManagement (ASM). How would you achieve this?A)by using RMANB)by using Data PumpC)by using the Database Upgrade Assistant (DBUA)D)by using a transportable database6.[单选题]关于MySQL授权表的描述,错误的是( )A)通过flush privileges刷新授权表B)保存了明文密码C)可以insert授权表创建用户D)--skip-grant-tables参数,可以临时不加载授权表7.[单选题]()是Oracle 存储区中被单个用户进程所使用的内存区域,是用户进程私有的,不能共享。

Oracle练习day04(附答案及多种解法)

Oracle练习day04(附答案及多种解法)

Oracle练习day04(附答案及多种解法)day01(附答案)(由于内容太过于简单上传没有被百度文库通过,于是和day04一起上传上来)1.查询职员表中工资大于1600的员工姓名和工资。

select ename,sal from emp where sal>1600;2.查询职员表中员工号为7369的员工的姓名和部门号码。

select ename,deptno from emp where empno=7369;3.选择职员表中工资不在4000到5000的员工的姓名和工资。

select ename,sal from emp where sal not between 4000 and 5000;4.选择职员表中在20和30号部门工作的员工姓名和部门号。

select ename,deptno from emp where deptno in(20,30);5.选择职员表中员工姓名的第三个字母是A的员工姓名。

select ename from emp where ename like '__A%';6.列出部门表中的部门名字和所在城市。

select dname,loc from dept;7.显示出职员表中的不重复的岗位job。

select distinct job from emp;8连接职员表中的职员名字、职位、薪水,列之间用逗号连接,列头显示成OUT_PUT(提示:使用连接符||、别名)。

select '姓名:' || ename || ',职位' || job || ',薪水' || sal OUT_PUT from emp9查询职员表emp中员工号、姓名、工资,以及工资提高百分之20%后的结果。

select empno,ename,sal,sal*1.2 sals from emp;10列出除了ACCOUNT部门还有哪些部门。

Oracle基础练习题及答案(多表查询1)(共5篇)

Oracle基础练习题及答案(多表查询1)(共5篇)

Oracle基础练习题及答案(多表查询1)(共5篇)第一篇:Oracle基础练习题及答案(多表查询1)利用scott用户自带的四张表完成如下作业:1.列出至少有一个员工的所有部门select b.deptno,b.dname from emp a,dept b where a.deptno=b.deptno group by b.deptno,b.dname having count(*)>=1;2.列出薪金比SMITH高的所有员工select * from emp where sal>(select sal from emp where ename='SMITH');3.列出所有员工的姓名及其直接上级领导的姓名select a.ename,b.ename “leader” from emp a,emp b wherea.mgr=b.empno;4.列出受雇日期早于其直接上级的所有员工的编号,姓名,部门名称select a.empno,a.ename,a.hiredate,c.dname from emp a,emp b,dept c where a.mgr=b.empno and a.deptno=c.deptno anda.hiredate5.列出部门名称和这些部门的员工信息,同时列出那些没有员工的部门select b.dname,a.* from emp a,dept b wherea.deptno(+)=b.deptno;6.列出所有CLERK(办事员)的姓名,及其部门名称,部门人数select aa.ename,aa.job,bb.dname,(select count(a.deptno)from emp a,dept b where a.deptno=b.deptno and b.dname=bb.dname group by a.deptno)from emp aa,dept bb where aa.deptno(+)=bb.deptno and aa.job='CLERK';7.列出最低薪金大于1500的各种工作及从事此工作的全部雇员人数select a.job,min(sal),count(ename)from emp a,dept b wherea.deptno=b.deptno having min(sal)>1500 group by a.job;8.列出在部门SALES(销售部)工作的员工的姓名,假定不知道销售部的部门编号。

oracle试题答案解释版

oracle试题答案解释版

oracle试题答案解释版要求20道判断、20道单选选择10道多选7道问答3道编程,再加20道填空一、单项选择题(每题1分,共20分)1、在Oracle中,一个用户拥有的所有数据库对象统称为(B)A)数据库B)模式C)表空间D)实例2、在Oracle中创建用户时,若未提及DEFAULTTABLESPACE关键字,则Oracle就将(D)表空间分配给用户作为默认表空间。

A)USERB)SYSC)DEFAULTD)SYSTEM3、在oracle中获取前10条的关键字是(D)A)topB)LimitC)firtD)rownum解释:top是qlerver数据库的关键字,limit是myql数据库的关键字,firt是informi某数据库的关键字4、在Oracle中,(B)操作符返回并集操作并不包括重复行A)InterectB)UnionC)UnionallD)Minu解释:Interect返回交集,union返回并集,不包括重复行,unionall返回并集,包括重复行,minu返回差集5、下面那个语句是错误的(D)A)createynonymdept_ynonforcott.deptB)createequencedept_equei ncrementby1C)alterequencedept_equeincrementby2D)dropdept_ynon6、oracle数据库中,通过(C)可以以最快的方式访问表中的一行。

A)主键B)唯一索引C)rowidD)全表扫描7、下面那个不是oracle程序设计中的循环语句(A)A)for…endforB)loop…endloopC)while…endloopD)for…endloop8、oracle存储结构正确的是(B)A)tablepace--egment--oblock--blockB)tablepace--egment--e某tent--blockC)tablepace--e某tent--egment--blockD)tablepace--e某tent--block–egment9、若tnname.ora文件中部分配置如下:某fhtdb=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=hello)(PORT=1521))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=cce)))则表明:(C)A)Oracle服务器所在的主机名为DEDICATEDB)Oracle服务器所在的主机名为cceC)对应数据库的SID为cceD)对应数据库的SID为某fhtdb10、现在要启动数据库,那么下面哪一个启动语句是错误的(A)A)STRATUPNORMALB)STRATUPFORCEC)STRATUPNOMOUNTD)STARTUPMOUNT11、授予a用户在SCOTT.EMP表中SAL列的更新权限的语句是:(C)A)GRANTCHANGEONSCOTT.EMPTOSAB)GRANTUPDATEONSCOTT.EMP(SAL)TOSAC)GRANTUPDATE(SAL)ONSCOTT.E MPTOSAD)GRANTMODIFYONSCOTT.EMPTOSA12、一个表有百万以上数据,其中一个列经常被作为查询条件并且只有25个不同数据,适合使用(C)索引提高查询速度。

Oracle测试题(卷)+答案解析

Oracle测试题(卷)+答案解析

Oracle测试题(卷)+答案解析1) PL/SQL块中可以使用下列()命令。

(选择两项)a) TRUNCATEb) DELETEc) SA VEPOINTd) ALTER TABLE2) 授予sa用户在SCOTT.EMP表中SAL列的更新权限的语句是(B)〔选择一项〕a) GRANT CHANGE ON SCOTT.EMP TO SAb) GRANT UPDA TE ON SCOTT.EMP(SAL) TO SAc) GRANT UPDA TE (SAL) ON SCOTT.EMP TO SAd) GRANT MODIFY ON SCOTT.EMP(SAL) TO SA3) EMP表有14条记录,则语句SELECT ‘Aptech’FROM EMP 的执行结果是(C)〔选择一项〕a) Aptechb) 无输出c) 14行Aptechd) 编译出错4) PL/SQL块中哪几部分是可选的()〔选择二项〕a) Declareb) Beginc) Exceptiond) Constant5) 在创建序列的过程中,下列()选项指定序列在达到最大值或最小值后,将继续从头开始生成值。

(选择一项)a) Cycleb) Nocyclec) Cached) Nocache6) 同义词有以下()用途。

(选择三项)a) 简化SQL 语句b) 隐藏对象的名称和所有者c) 提供对对象的公共访问d) 显示对象的名称和所有者7) Oracle中用来释放锁的语句有()〔选择二项〕a) commitb) Drop lockc) rollbackd) unlock8) 关于类型定义Number(9,2)说确的有()〔选择一项〕a) 整数部分9位,小数部分2位,共11位b) 整数部分7位,小数部分2位,共9位c) 整数部分6位,小数点一位,小数部分2位,共9位d) 以上说法均不正确9) 下列哪种Lob类型用来存储数据库以外的操作系统文件()〔选择一项〕a) CLOBb) BLOBc) CFILEd) BFILE10) Oracle中的三种系统文件分别是()〔选择三项〕a) 数据文件b) 归档文件c) 日志文件d) 控制文件11) 下列哪项不是Oracle中常用的分区方法?()〔选择一项〕a) 围分区b) 散列分区c) 列表分区d) 条件分区12) 查看Test中名称为P1的分区中的记录的查询语句为()〔选择一项〕a) Select * from Test Where PartitionName=’p1’b) Select * from Test(p1)c) Select * from Test Partition(p1);d) 以上均正确13) 创建序列时,若未指定Cycle选项,则当当前值大于MaxValue时将()〔选择一项〕a) 从MinValue重新开始循环b) 重复使用MaxValue 值c) 执行出错d) 使用随机值14) 下列哪项是创建索引组织表所必需的()〔选一项〕a) Primary Keyb) Order Byc) Group Byd) 以上均不是15) 若表的某字段值存在大量的重复,则基于该字段适合创建哪种索引?()〔选一项〕a) 标准索引b) 唯一索引c) 位图索引d) 分区索引16) 在PL/SQL块中定义一个名为PI值为3.14的Real型常量的语法是()〔选一项〕a) A.Pi Const Real=3.14;b) B.Pi Real Const =3.14;c) C.Constant Pi Real:=3.14d) D.Pi Constant Real:=3.1417) 22.当Select语句没有返回行时,将引发下列哪个异常?()[选择一项]a) A.No_rows_foundb) B.No_data_foundc) C.No_Data_rows_foundd) D.Invalid_Number18) Oracle中提供的两种游标是()〔选择二项〕a) A.隐式游标b) B.静态游标c) C.REF游标d) D.显式游标19) 若Emp表中有14条记录,则用户执行了以下操作,结果是:()〔选择一项〕Cursor mycur is Select * From emp;。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一、填空1.在多进程Oracle实例系统中,进程分为用户进程、后台进程和服务进程。

2.标准的SQL语言语句类型可以分为:数据定义语句(DDL)、数据操纵语句(DML)和数据控制语句(DCL)。

3.在需要滤除查询结果中重复的行时,必须使用关键字Distinct; 在需要返回查询结果中的所有行时,可以使用关键字ALL。

4.当进行模糊查询时,应使用关键字like和通配符问号(?)或百分号"%"。

5.Where子句可以接收From子句输出的数据,而HA VING子句则可以接收来自WHERE、FROM或GROUP BY子句的输入。

6.在SQL语句中,用于向表中插入数据的语句是Insert。

7.如果需要向表中插入一批已经存在的数据,可以在INSERT语句中使用Select 语句。

8.使用Describe命令可以显示表的结构信息。

9.使用SQL*Plus的Get命令可以将文件检索到缓冲区,并且不执行。

10.使用Save命令可以将缓冲区中的SQL命令保存到一个文件中,并且可以使用Run命令运行该文件。

11.一个模式只能够被一个数据库对象所拥有,其创建的所有模式对象都保存在自己的模式中。

12.根据约束的作用域,约束可以分为表级约束和列级约束两种。

列级约束是字段定义的一部分,只能够应用在一个列上;而表级约束的定义独立于列的定义,它可以应用于一个表中的多个列。

13.填写下面的语句,使其可以为Class表的ID列添加一个名为PK_CLASS_ID 的主键约束。

ALTER TABLE ClassAdd ____________ PK_LASS_ID (Constraint)PRIMARY KEY ________ (ID)14. 每个Oracle 10g数据库在创建后都有4个默认的数据库用户:system、sys、sysman和DBcnmp15. Oracle提供了两种类型的权限:系统权限和对象权限。

系统权限提供了在Oracle数据库系统范围内执行某种任务的操作能力,而对象权限则是一种赋予用户在指定的数据库对象(如表、视图、过程等)16. Oralce数据库在进行物理备份有联机备份和脱机备份两种方式可供选择。

.17. 从存储结构的角度来说,Oracle数据库可分为物理结构和逻辑结构。

18. 表空间是Oracle数据库中数据的逻辑组织,每个数据库至少有一个SYSTEM 系统表空间。

19.视图是一个表示表的数据的数据库对象,它允许用户从一个表或一组表中通过一定的查询语句建立一个“虚表”。

20.序列是一种可被多个用户使用的用于产生一系列唯一数字的数据库对象。

尤其适合多用户环境中,可以生成唯一的序列号而没有磁盘I/O或事务处理锁定开销。

21. 一个表空间具有离线(OFFLINE)、在线(ONLINE)、只读(READ ONLY)、读写(READ WRITE)状态。

二、选择1.在全局存储区SGA中,哪部分内存区域是循环使用的?( B )A.数据缓冲区B.日志缓冲区C.共享池D.大池2.如果一个服务器进程非正常终止,Oracle系统将使用下列哪一个进程来释放它所占用的资源?( D )A.DBWR B.LGWR C.SMON D.PMON3. 如果要查询数据库中所有表的信息,应当使用下列哪种数据字典视图?( A )A. DBA视图B. ALL视图C. USER视图D. 动态性能视图4. 下列哪一项是Oracle数据库中最小的存储分配单元? ( C )A. 表空间B. 段C. 盘区D. 数据块5. 下面的各选项中哪一个正确描述了Oracle数据库的逻辑存储结构? ( A )A. 表空间由段组成,段由盘区组成,盘区由数据块组成B. 段由表空间组成,表空间由盘区组成,盘区由数据块组成C. 盘区由数据块组成,数据块由段组成,段由表空间组成D. 数据块由段组成,段由盘区组成,盘区由表空间组成6. 下列的哪个子句在SELECT语句中用于排序结果集?( D )A. Having子句B. Where子句C. From子句D. Order by子句7. Having子句的作用是( B )。

a. 查询结果的分组条件B. 组的筛选条件C. 限定返回的行的判断条件D. 对结果集进行排序8. 下列哪个函数可以把一个列中的所有值相加求和? ( B )A MAX B. SUM C. COUNT D. A VG9. 下列哪个子句是SELECT语句中必选项?( A )A. FROMB.WHEREC.HA VINGD. ORDER BY10. 下列哪个子句实现对一个结果集进行分组和汇总?(D )A.HA VING B. ORDER BY C. WHERE D. GROUP BY11. 查询一个表的总记录数,可以采用_________统计函数。

(C )A. A VG(*)B. SUM(*)C. COUNT(*)D.MAX(*)12. 要建立一个语句向Types表中插入数据,这个表只有两列,T_ID和T_Name 列。

如果要插入一行数据,这一行的T_ID值是100,T_Name值是RFUIT。

应该使用的SQL语句是_____。

( A )A. INSERT INTO Type Values(100, ‘FRUIT’)B. SELECT * FROM Type WHERE T_ID=100 AND T_NAME=’FRUIT’C. UPDATE SET T_ID=100 FROM Types WHERE T_Name=’FRUIT’D. DELET * FROM Types WHERE T_ID=100 AND T_Name=’FRUIT’13. 用_____语句修改表的一行或多行数据。

( A )A.Update B.set C.Select D.Where14. 使用什么命令可以清除表中所有的内容?( D )A.INSERT B.UPDATE C. DELETE D.TRUNCATE15.关于模式的描述下列哪一项不正确?( C )A.表或索引等模式对象一定属于某一个模式B.在Oracle数据库中,模式与数据库用户是一一对应的C.一个表可以属于多个模式D.一个模式可以拥有多个表16.唯一约束与主键约束的一个区别是?(D )A.唯一约束的列的值不可以有重复值B.唯一约束的列的值可以不是唯一的C.唯一约束的列不可以为空值D.唯一约束的列可以为空值17. 只能存储一个值的变量是哪种变量?( B )A. 游标B. 标量变量C. 游标变量D. 记录变量18. 声明%TPYE类型的变量时,服务器将会做什么操作?( A )A. 为该变量检索数据库列的数据类型B.复制一个变量C.检索数据库中的数据D.为该变量检索列的数据类型和值19.下列哪一项可以正确地引用该记录变量中的一个值?(B )A.rec_abc(1) B. rec_abc(1).colC. rec_abc.colD.rec_abc.first()20. 在定义游标时使用的FOR UPDATE子句的作用是______。

( C )A.执行游标 B. 执行SQL语句的UPDATE语句C.对要更新表的列进行加锁 D. 都不对21. 如果允许用户对视图进行更新和插入操作,但是又要防止用户将不符合视图约束条件的记录添加到视图,应当在定义视图时指定下列哪一个子句?( C )A.WITH GRANT OPTIONB. WITH READ ONLYC. WITH CHECK OPTIOND. WITH CHECK ONLY22. 如果想查看视图中哪些字段是可以更新的,应当查询哪一个数据字典视图?(D )A. DBA_VIEWSB. DBA_OBJECTSC. DBA_CLU_COLUMNSD. DBA_UPDATABLE_COLUMNS23. 在下列各选项中,关于序列的描述哪一项是不正确的?(D )A. 序列是Oracle提供的用于产生一系列唯一数字的数据库对象B.序列并不占用实际的存储空间C.使用序列时,需要用到序列的两个伪列NEXTV AL与CURRVAL。

其中,NEXTV AL 将返回序列生成的下一个值,而CURRV AL返回序列的当前值D.在任何时候都可以使用序列的伪列CURRV AL,以返回当前序列值24. 在下列各选项中,关于同义词的描述哪一项是不正确的?( B )A.同义词是数据库对象的一个替代名,在使用同义词时,Oracle会将其翻译为对应的对象名称B.在创建同义词时,所替代的模式对象必须存在C.Oracle中的同义词分为公有同义词和私有同义词D.公有同义词在数据库中所有的用户都可以使用;私有同义词由创建它的用户所拥有25. 下列哪个锁模式不属于Oracle?( D )A. 共享锁B.排他锁C. 行级共享锁D. 死锁26. 想在另一个模式中创建表,用户最少应该具有什么系统权限?( B )A.CREATE TABLE B. CREATE ANY TABLE C. RESOURCE D. DBA 27. 如果要启用所有角色,则应该使用哪一个命令?( B )A.SET ROLE ALL B. SET ROLE ENABLE ALLC. ALTER SESSION ALLD.ALTER USER ROLE ALL28. 下列哪一个操作可以用来为一个备份操作手动分配通道?(A )A.ALLOCATE CHANNEL B. CREATE CHANNEL C. CHANNEL ALLOCATED. CREATE LINK29. 下列哪一个命令用来显示RMAN通道的配置信息?(C )A. LISTB. DISPLAYC.SHOWD.都可以30. 下列哪一个命令可以用来执行不完全恢复?( B )A. RESTORE DATABASE UNTILB. RECOVER DATABASE UNTILC. RECOVER DATA UNTILD. RESTORE DATA UNTIL三、简答题1.说明数据库模式与用户之间的区别。

答案:数据库模式与用户之间的区别在于:用户是数据库的使用者和管理者,用户具有帐户状态、访问权限和操作权限等属性。

模式是一系列逻辑数据结构或对象的集合,是数据库中对象的组织和管理单位。

2.简要游标的作用和游标操作的基本步骤。

答案:游标的作用是将数据库的中数据检索出来后缓存,可以被PL/SQL程序一行一行的读取并处理。

支持一条、多条、零条记录的处理。

游标的基本操作步骤为:(1)声明游标,使用查询来定义游标的列和行(2)打开游标,使用PL/SQL命令OPEN来打开一个声明的游标(3)提取数据,从游标中重复提取每条记录到数据结构中,直到数据集合被提交(4)关闭游标,使用完游标后将其关闭3.Oracle数据库的工作模式有哪两种?它们之间有有何区别?答案:在Oracle数据库中,数据库的操作模式分为专用服务器(DELICATED SERVER)模式和多线程服务器(MULTITHREADED SERVER)模式两种。

相关文档
最新文档