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经典练习题(很全面)讲解学习

Oracle经典练习题(很全面)讲解学习

O r a c l e经典练习题(很全面)Oracle 经典练习题一.创建一个简单的PL/SQL程序块1.编写一个程序块,从emp表中显示名为“SMITH”的雇员的薪水和职位。

declarev_emp emp%rowtype;beginselect * into v_emp from emp where ename='SMITH';dbms_output.put_line('员工的工作是:'||v_emp.job||' ;他的薪水是:'||v_emp.sal);end;2.编写一个程序块,接受用户输入一个部门号,从dept表中显示该部门的名称与所在位置。

方法一:(传统方法)declarepname dept.dname%type;ploc dept.loc%type;pdeptno dept.deptno%type;beginpdeptno:=&请输入部门编号;select dname,loc into pname,ploc from dept wheredeptno=pdeptno;dbms_output.put_line('部门名称: '||pname||'所在位置:'||ploc);exception –异常处理when no_data_foundthen dbms_output.put_line('你输入的部门编号有误!!');when othersthen dbms_output.put_line('其他异常');end;方法二:(使用%rowtype)declareerow dept%rowtype;beginselect * into erow from dept where deptno=&请输入部门编号;dbms_output.put_line(erow.dname||'--'||erow.loc); exceptionwhen no_data_foundthen dbms_output.put_line('你输入的部门号有误!!!');when othersthen dbms_output.put_line('其他异常');end;3.编写一个程序块,利用%type属性,接受一个雇员号,从emp表中显示该雇员的整体薪水(即,薪水加佣金)。

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数据库入门笔试试题及参考答案

Oracle数据库入门笔试试题及参考答案

《数据库入门》试题姓名:一、简答题(共40分,每小题10分)1、如何理解空值(null)?空值在参与运算时有什么特点?2、简述参照完整性约束。

3、简述Oracle客户端tnsnames.ora文件的作用。

4、简述事务及其性质。

二、运算题(共60分,每小题5分)针对课本图1.2中的关系模式,用SQL完成下列操作。

1、查询姓张的病人姓名和出生年份。

select xm,substr(to_char(sysdate,'yyyy.mm.dd'),1,4)from dw.per_natlwhere xm like '张%';注意:题目要求查询出生年份,不是出生日期。

2、查询女病人的平均年龄。

update dw.per_natl aset nl=(select to_number(substr(to_char(sysdate,'yyyy.mm.dd'),1,4)) -to_number(substr(to_char(csrq,'yyyy.mm.dd'),1,4)) from dw.per_natl bwhere a.grbm=b.grbm);select avg(nl)from dw.per_natlwhere xb='2';考虑下列SQL:select avg(nvl(nl,0))from dw.per_natlwhere xb='2';3、查询发生过费用的病人总人数。

select count(distinct grbm)from dw.patient_script_genl;此处必须使用distinct4、查询2000年以后出生的病人姓名。

select xmfrom dw.per_natlwhere substr(to_char(sysdate,'yyyy.mm.dd'),1,4)>'2000';5、查询没有被使用过的医疗项目编码和名称。

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课后填空选择问题详解

第二章1.Oracle 数据库系统的物理存储结构主要由3 类文件组成,分别为数据文件、日志文件、控制文件。

2.用户对数据库的操作如果产生日志信息、则该日志信息首先被存储在日志缓冲区中,随后由LGWR进程保存到日志文件。

3.一个表空间物理上对应一个或多个数据文件。

4.在Oracle 的逻辑存储结构中,根据存储数据的类型,可以将段分为数据段、索引段、回退段、LOB 段和临时段。

5.在Oracle 的逻辑存储结构中,数据块是最小的I/O 单元。

6.在多进程Oracle 实例系统中,进程分为用户进程、后台进程和服务器进程。

当一个用户运行应用程序,如PRO*C 程序或一个Oracle 工具(如SQL*Plus),系统将为用户运行的应用程序建立一个用户进程。

1.下列选项中,哪一部分不是Oracle 实例的组成部分? CA.系统全局区SGAB. PMON 后台进程C.控制文件D.Dnnn 调度进程2.在全局存储区SGA 中,哪部分内存区域是循环使用的? BA.数据缓冲区B.日志缓冲区C.共享池D.大池3.解析后的SQL 语句在SGA 的哪个区域中进行缓存? CA.数据缓冲区B.日志缓冲区C.共享池D.大池4.如果一个服务进程非正常终止,Oracle 系统将使用下列哪一个进程来释放它所占用的资源? DA.DBWRB.LGWRC.SMOND.PMON5.如果服务器进程无法在数据缓冲区中找到空闲缓存块,以添加从数据文件中读取的数据块,则将启动如下哪一个进程? DA.CKPTB.SMONC.LGWRD.DBWR6.下列关于共享服务器模式的叙述哪一项不正确? AA.在共享服务器操作模式下,每一个用户进程必须对应一个服务器进程B.一个数据库实例可以启动多个调度进程C.在共享服务器操作模式下,Oracle 实例将启动调度进程Dnnn 为用户进程分配服务进程D.共享服务器操作模式可以实现少量服务器进程为大量用户进程提供服务7.当数据库运行在归档模式下时,如果发生日志切换,为了保证不覆盖旧的日志信息,系统将启动如下哪一个进程? DA.DBWRB.LGWRC.SMOND.ARCH8.下列哪一个进程和数据库部件可以保证用户对数据库所做的修改在没有保存的情况下,不会发生丢失修改数据? CA.DBWR 和数据文件B.LGWR 和日志文件组C.CKPT 和控制文件D.ARCH 和归档日志文件9.下列哪一个进程用于将修改过的数据从内存保存到磁盘数据文件中? AA.DBWRB.LGWRC.RECOD.ARCH10.如果要查询数据库中所有表的信息,应当使用下列哪种数据字典视图? AA.DBA 视图B.ALL 视图ER 视图D.动态性能视图11.下列哪一项是Oracle 数据库中最小的存储分配单元? DA.表空间B.段C.盘区D.数据块12.下面的各项中哪一个正确描述了Oracle 数据库的逻辑存储结构? AA.表空间由段组成,段由盘区组成,盘区由数据块组成B.段由表空间组成,表空间由盘区组成,盘区由数据块组成C.盘区由数据块组成,数据块由段组成,段由表空间组成D.数据块由段组成,段由盘区组成,盘区由表空间组成第三章1.标准的SQL 语言语句类型可以分为:数据定义语句(DDL)、数据操纵语句(DML)和数据控制语句(DCL)。

  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)模式两种。

相关文档
最新文档