文档库 最新最全的文档下载
当前位置:文档库 › Oracle作业2-答案

Oracle作业2-答案

Oracle作业2-答案
Oracle作业2-答案

第二次书面作业答案

(作业在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

19.为了禁止在视图上执行DML操作,建立视图时应该提供哪个选项?( B ) A.WITH CHECK OPTION B.WITH READ ONLY

C.WITH READ OPTION D.READ ONLY

20.以下哪种分区方法适用于存放离散数据?( C)

A.范围分区B.散列分区C.列表分区D.索引分区

三、简答题

1、使用显式游标需要哪几个步骤?

答:使用显式游标需要以下四步:

1.定义游标:游标由游标名称和游标对应的SELECT结果集组成。

2.打开游标:要使用定义好的游标,用户还必须显式地打开游标。

3.提取游标数据:提取游标中的数据就是将检索到的结果集中的数据保存到变量中,以便在程序中进行处理。

4.关闭游标:使用完游标后,用户必须显式关闭游标,释放select语句的查询结果。

2、简述调用过程时传递参数值的3种方法。

答:1.IN参数:该类型的参数值由调用者传入,并且只能够被存储过程读取。2、OUT参数:OUT类型的参数由存储过程传入值,然后由用户接收参数值。3、IN OUT类型的参数同时具有IN 参数和OUT参数的特性,在调用过程时既可以向该类型的参数传入值,也可以从该参数接收值;而在过程的执行中既可以读取又写入该类型参数。

3、如何使用大对象数据类型?

答:在创建大对象表时,可以根据实际情况直接使用大对象类型定义某些列。大对象表定义完成之后,应该使用初始化函数初始化大对象列。对于CLOB或NCLOB列.可以使用EMPTY_CLOB()函数进行初始化。对于BLOB列,应该使用EMPTY_BLOB()函数进行初始化;可以在INSERT语句中使用这些初始化函数.初始化完成后.可以使用UPDATE语句向大对象列加入数据。

4、简述B树索引的组织结构。

答:B树索引是以B树结构组织并存放索引数据的。默认情况下,B树索引中的数据是以升序方式排列的。B树索引由根块、分支枝和叶块3部分组成,其中主要数据都集中在叶子结点。

5、简述什么是簇,以及什么是散列簇。

答:簇是一种用于存储数据表中数据的方法。簇实际上是一组表,由一组共享相同数据块的多个表组成。散列簇是指使用散列(HASH)函数定位行的位置。通过散列簇,可以将静态表的数据均匀地分布到数据块中。

oracle练习题及答案

WORD格式 1.找出各月倒数第3天受雇的所有员工 selectenamefromempwherelast_day(hiredate)-2=hiredate; 2.找出早于12年前受雇的员工 selectenamefromempwheremonths_between(sysdate,hiredate)>=144; 3.以首字母大写的方式显示所有员工的姓名 selectinitcap(ename)fromemp; 4.显示正好为5个字符的员工的姓名 selectenamefromempwherelength(ename)=5; 5.显示不带有“R”的员工姓名 selectenamefromempwhereinstr(ename,'R',1,1)=0; 6.显示所有员工姓名的前三个字符 selectsubstr(ename,1,3)fromemp; 7.显示所有员工的姓名,用“a”替换所有的“A” selectename,replace(ename,'A','a')fromemp; 8.显示满10年服务年限的员工的姓名和受雇日期 selectename,hiredatefromempwheremonths_between(sysdate,hiredate)>=120; 9.显示员工的详细资料,按姓名排序 select*fromemporderbyenamedesc; 10.显示员工的姓名和受雇日期,根据其服务年限,将最老的员工排在最前面selectename,hiredatefromemporderbyhiredate; 11.显示所有员工的姓名、工作和薪金,按照工作的降序排序,若工作相同则按薪金排序selectename,job,salfromemporderbyjobdesc,sal; 12.显示所有员工的姓名、加入公司的年份和月份,按受雇日期所在月排序,若月份 相同则将最早年份的员工排在最前面 selectename,to_char(hiredate,'yyyy')h,to_char(hiredate,'mm')m fromemporderbym,h; 13.显示在一个月为30天的情况所有员工的日薪金,忽略余数 selecttrunc(sal/30)fromemp; 14.找出在(任何年份的)2月受聘的所有员工 selectenamefromempwhereto_char(hiredate,'mm')=2; 15.对于每个员工显示其加入公司的天数 selectename,sysdate-hiredatefromemp; 16.显示姓名字段的任何位置包含“A”的所有员工姓名 selectenamefromempwhereinstr(ename,'A',1,1)<>0; selectenamefromempwhereenamelike'%A%'; 专业资料整理

Oracle数据库试题及答案

Oracle数据库试题 一、选择题 1、段是表空间中一种逻辑存储结构,以下( D )不是ORACLE数据库使用的段类型。(A)索引段(B)临时段(C)回滚段(D)代码段 2、 ORACLE数据库物理结构包括以下三种文件,以下不属于的是( A )。 ?(A)系统文件(B)日志文件(C)数据文件(D)控制文件 3、数据库中有两个用户scott和muuser,物资表wz是属于myuser用户的,但当前用户是scott,要求查询物资表wz(wno,wname,wtype,wunit)物资单位wunit列为null的记录,取结果的前5条记录显示,以下正确的SQL语句是( C ) (A)select*from scott.wz where wunit is null and rownum<5; (B)select*from myuser.wz where wunit = null and rownum<5; (C) select*from myuser.wz where wunit is null and rownum<6; (D)select*form scott.wz where wunit is null and rownum<6; ?4、若当前日期为’25-5月-06’,以下( D? )表达式能计算出5个月后那一天所在月份的最后一天的日期。 (A)NEXT_DAY(ADD_MONTHS(28-5月-06,5)) (B)NEXT_DAY(MONTHS_BETWEEN(28-5月-06,5)) (C)NEXT_DAY(MONTHS_BETWEEN(’28-5月-06’,5)) (D)NEXT_DAY(ADD_MONTHS(’28-5月-06’,5)) 5、下列叙述中正确的是_C_。 A、数据库是一个独立的系统,不需要操作系统的支持 B、数据库设计是指设计数据库管理系统 C、数据库技术的根本目标是要解决数据共享的问题 D、数据库系统中,数据的物理结构必须与逻辑结构一致 6、SQL语句中修改表结构的命令是 ???C?? ?。 A、MODIFY TABLE B、MODIFY STRUCTURE C、ALTER TABLE D、ALTER STRUCTURE 7、数据库DB、数据库系统DBS、数据库管理系统DBMS三者之间的关系是__ A___。 A、DBS包括DB和DBMS B、DBMS包括DB和DBS C、DB包括DBS和DBMS D、DBS就是DB,也就是DBMS 8、要控制两个表中数据的完整性和一致性可以设置"参照完整性",要求这两个表_A___。 A、是同一个数据库中的两个表 B、不同数据库中的两个表 C、两个自由表 D、一个是数据库表另一个是自由表 9、在关系模型中,实现"关系中不允许出现相同的元组"的约束是通过__B_ __。 A、候选键 B、主键 C、外键 D、超键 10、索引字段值不唯一,应该选择的索引类型为___ B__。 A、主索引 B、普通索引 C、候选索引 D、唯一索引 11、从数据库中删除表的命令是___C __。 A、DROP TABLE B、ALTER TABLE C、DELETE TABLE D、USE 12、 DELETE FROM S WHERE 年龄>60语句的功能是___B___。 A、从S表中彻底删除年龄大于60岁的记录 B、S表中年龄大于60岁的记录被加上删除标记

ORACLE数据库期末考试题目及答案

期末考试卷(卷) 课程名称:数据库考试方式:开卷()闭卷(√) 、本试卷共4 页,请查看试卷中是否有缺页。 2、考试结束后,考生不得将试卷、答题纸带出考场。 1、以下(a )内存区不属于SGA。 A.PGA B.日志缓冲区 C.数据缓冲区 D.共享池 2、d )模式存储数据库中数据字典的表和视图。 (A.DBA B.SCOTT C.SYSTEM D.SYS 3、Oracle 中创建用户时,在若未提及DEFAULT TABLESPACE 关键字,Oracle 就将 c )则(表空间分配给用户作为默认表空间。A.HR B.SCOTT C.SYSTEM D.SYS

4、a )服务监听并按受来自客户端应用程序的连接请求。(A.OracleHOME_NAMETNSListener B.OracleServiceSID C.OracleHOME_NAMEAgent D.OracleHOME_NAMEHTTPServer 5、b )函数通常用来计算累计排名、移动平均数和报表聚合等。(A.汇总B.分析C.分组D.单行 6、b)SQL 语句将为计算列SAL*12 生成别名Annual Salary (A.SELECT ename,sal*12 …Annual Salary? FROM emp; B.SELECT ename,sal*12 “Annual Salary” FROM emp; C.SELECT ename,sal*12 AS Annual Salary FROM emp; D.SELECT ename,sal*12 AS INITCAP(“Annual Salary”) FROM emp; 7、锁用于提供(b )。 A.改进的性能 B.数据的完整性和一致性 C.可用性和易于维护 D.用户安全 8、( c )锁用于锁定表,允许其他用户查询表中的行和锁定表,但不允许插入、更新和删除行。 A.行共享B.行排他C.共享D.排他 9、带有( b )子句的SELECT 语句可以在表的一行或多行上放置排他锁。 A.FOR INSERT B.FOR UPDATE C.FOR DELETE D.FOR REFRESH

oracle考试试题及答案

试题一 一、填空题(每小题4分,共20分) 1、数据库管理技术经历了人工管理、文件系统、数据库系统三个阶段 2、数据库三级数据结构是外模式、模式、内模式 3、Oracle数据库中,SGA由数据库缓冲区,重做日志缓冲区,共享池组成 4、在Oracle数据库中,完正性约束类型有Primay key约束。Foreign key约束,Unique约束,check约束,not need约束 5、PL/SQL中游标操作包括声明游标,打开游标,提取游标,关闭游标 二、正误判断题(每小题2分,共20分) 1、数据库中存储的基本对象是数据(T) 2、数据库系统的核心是DBMS(T) 3、关系操作的特点是集合操作(T) 4、关系代数中五种基本运算是并、差、选择、投影、连接(F) 5、Oracle进程就是服务器进程(F) 6、oraclet系统中SGA所有用户进程和服务器进程所共享(T) 7、oracle数据库系统中数据块的大小与操作系统有关(T) 8、oracle数据库系统中,启动数据库和第一步是启动一个数据库实例(T) 9、PL/SQL中游标的数据是可以改变的(F) 10、数据库概念模型主要用于数据库概念结构设计() 三、简答题(每小题7分,共35分) 1、何谓数据与程序的逻辑独立性和物理独立性? 2、试述关系代数中等值连接与自然连接的区别与联系? 3、何谓数据库,数据库设计一般分为哪些阶段? 4、简述Oracle逻辑数据库的组成?

5、试任举一例说明游标的使用方法? 五、设有雇员表emp(empno,ename,age,sal,tel,deptno), 其中:empno-----编号,name------姓名,age -------年齡,sal-----工资,tel-----电话 deptno-----部门号。 请按下列要求分别晨SQL*PLUS下编程。(每小题3分,共15分)?1、查询家有电话的职工信息。 ?2、查询工资在500至800元之间的雇员信息 ?3、按年龄递增顺序显示雇员编号、姓名、年龄、工资 ?4、求部门号为D_01的平均工资 ?5、查找部门号为D_01的40岁以上而工资在400元以下的雇员名单。 1、SQL>SELECT * FROM emp WHERE tel NOT NULL; 2、SQL>SELECT * FROM emp WHERE BETWEEN 500 AND 800; 3、SQL>SELECT empno,ename,age,sal FROM emp ORDER BY age ASC; 4、SQL>SELECT AVG(sal) FROM emp WHERE deptno='D_01'; 5、SQL>SELECT ename FROM emp WHERE deptno='D_01' AND age>40 AND Sal<400; ? 试题一答案 一、填空题 1、人工管理、文件系统、数据库系统 2、外模式、模式、内模式 3、数据库缓冲区,重做日志缓冲区,共享池 4、Primay key约束。Foreign key约束,Unique约束,check约束,not need 约束 5、声明游标,打开游标,提取游标,关闭游标 二、正误判断题 1、T 2、T 3、T 4、F 5、F 6、T 7、T 8、T 9、F 三、(略) 五、 1、SQL>SELECT * FROM emp WHERE tel NOT NULL; 2、SQL>SELECT * FROM emp WHERE BETWEEN 500 AND 800; 3、SQL>SELECT empno,ename,age,sal FROM emp ORDER BY age ASC; 4、SQL>SELECT AVG(sal) FROM emp WHERE deptno='D_01'; 5、SQL>SELECT ename FROM emp WHERE deptno='D_01' AND age>40 AND Sal<400; 试题二

Oracle笔试题及答案

一、选择题(每题1分) 1.Oracle发出下列select语句: SQL> select e.empno, e.ename, d.loc 2 from emp e, dept d 3 where e.deptno = d.deptno 4 and substr(e.ename, 1, 1) = ‘S’; 下列哪个语句是Oracle数据库中可用的ANSI兼容等价语句? A.select empno, ename, loc from emp join dept on emp.deptno = dept.deptno where substr(emp.ename, 1, 1) = ‘S’; B.select empno, ename, loc from emp, dept on emp.deptno = dept.deptno where substr(emp.ename, 1, 1) = ‘S’; C.select empno, ename, loc from emp join dept where emp.deptno = dept.deptno and substr(emp.ename, 1, 1) = ‘S’; D.select empno, ename, loc from emp left join dept on emp.deptno = dept.deptno and substr(emp.ename, 1, 1) = ‘S’; 2.你要对操纵Oracle数据库中的数据。下列哪个选项表示Oracle中select语句的功能, 并且不需要使用子查询? A.可以用select语句改变Oracle中的数据 B.可以用select语句删除Oracle 中的数据 C.可以用select语句和另一个表的内容生成一个表 D.可以用select语句对表截断 3.Oracle数据库中发出一个查询。下列哪个选项不能查询对用户定义静态表达式执行数学 运算时的查询组件? A.列子句 B.表子句 C.DUAL表 D.where子句 4.你要操纵Oracle数据,下列哪个不是SQL命令? A.select * from dual; B.set define C.update emp set ename = 6543 where ename = ‘SMITHERS’; D.create table employees(empid varchar2(10) primary key); 5.你要在Oracle中定义SQL查询。下列哪个数据库对象不能直接从select语句中引用?A.表 B.序列 C.索引 D.视图 6.你要根据PRODUCT_NAME列从PROFITS表查询中过滤返回的数据。下列哪个子句包含相 应过滤条件的引用? A.select B.from C.where D.having 7.下列代码显示了PROFITS表输出的局部: PRODUCT_NAME PRODUCT_TYPE QTR_END_DATE PROFIT ------------ ------------ ------------ ------------- BARNEY DOLL TOY 31-MAR-2001 6575430.30 GAS GRILL APP 31-MAR-2001 1234023.88

Oracle数据库基础题库【含答案】

1、判断题,正确请写写"T",错误请写写"F", 1、oracle数据库系统中,启动数据库的第一步是启动一个数据库实 例。( T )2、Oracle服务器端的监听程序是驻留在服务器上的单独 进程,专门负责响应客户机的连接请求。( F) 3、oracle数据库中实例和数据库是一一对应的(非ORACLE并行服务, 非集群)。( T) 4、系统全局区SGA 是针对某一服务器进程而保留的内存区域,它是不 可以共享的。( F ) 5、数据库字典视图ALL_***视图只包含当前用户拥有的数据库对象信 息。( F ) 8、数据字典中的内容都被保存在SYSTEM表空间中。( T ) 9、HAVING后面的条件中可以有聚集函数,比如SUM(),AVG()等, WHERE 后面的条件中也可以有聚集函数。( F ) 10、"上海西北京" 可以通过like ‘%上海_’查出来。( F ) 11、表空间是oracle 最大的逻辑组成部分。Oracle数据库由一个或多 个表空间组成。一个表空间由一个或多个数据文件组成,但一个数据文 件只能属于一个表空间。( T ) 12、表空间分为永久表空间和临时表空间两种类型。( T ) 13、truncate是DDL操作,不能 rollback。( T ) 14、如果需要向表中插入一批已经存在的数据,可以在INSERT语句中使 用WHERE语句。( F ) 15、Oracle数据库中字符串和日期必须使用双引号标识。( F ) 16、Oracle数据库中字符串数据是区分大小写的。( T ) 17、Oracle数据库中可以对约束进行禁用,禁用约束可以在执行一些特 殊操作时候保证操作能正常进行。( F ) 18、为了节省存储空间,定义表时应该将可能包含NULL值的字段放在字 段列表的末尾。( T )  20、在连接操作中,如果左表和右表中不满足连接条件的数据都出现在 结果中,那么这种连接是全外连接。( T ) 21、自然连接是根据两个表中同名的列而进行连接的,当列不同名时, 自然连接将失去意义。( T ) 23、PL/SQL代码块声明区可有可无。( T ) 24、隐式游标与显式游标的不同在于显式游标仅仅访问一行,隐式的可 以访问多行。( F )

oracle习题及答案

1.查询工资大于12000的员工姓名和工资 Select last_name||' '||first_name,salary from employees where salary >12000; 2.查询员工号为176的员工的姓名和部门号 Select last_name||' '||first_name,department_id from employees where employee_id=176; 3.选择工资不在5000到12000的员工的姓名和工资 Select last_name||' '||first_name,salary from employees where salary not between 5000 and 12000; 4.选择雇用时间在1998-02-01到1998-05-01之间的员工姓名,job_id 和雇用时间 Select last_name||' '||first_name,job_id,hire_date from employees where hire_date between '1-2月-98' and '1-5月-98'; 5.选择在20或50号部门工作的员工姓名和部门号 Select last_name||' '||first_name,department_id from employees where department_id in (20,50); 6.选择在1994年雇用的员工的姓名和雇用时间 Select last_name||' '||first_name,hire_date from employees where hire_date like '%94'; 7.选择公司中没有管理者的员工姓名及job_id Select last_name||' '||first_name,job_id from employees where Manger_id is null;

oracle期末考试题及答案

1、以下()内存区不属于SGA。 A.PGA B.日志缓冲区 C.数据缓冲区 D.共享池 2、()模式存储数据库中数据字典的表和视图。 A.DBA B.SCOTT C.SYSTEM D.SYS 3、在Oracle中创建用户时,若未提及DEFAULT TABLESPACE关键字, 则Oracle就将()表空间分配给用户作为默认表空间。 A.HR B.SCOTT C.SYSTEM D.SYS 4、()服务监听并按受来自客户端应用程序的连接请求。 A.OracleHOME_NAMETNSListener B.OracleServiceSID C.OracleHOME_NAMEAgent D.OracleHOME_NAMEHTTPServer 5、()函数通常用来计算累计排名、移动平均数和报表聚合等。 A.汇总 B.分析 C.分组 D.单行 6、()SQL语句将为计算列SAL*12生成别名Annual Salary A.SELECT ename,sal*12 ‘Annual Salary’ FROM emp; B.SELECT ename,sal*12 “Annual Salary” FROM emp; C.SELECT ename,sal*12 AS Annual Salary FROM emp; D.SELECT ename,sal*12 AS INITCAP(“Annual Salary”) FROM emp; 7、锁用于提供( )。

A.改进的性能 B.数据的完整性和一致性 C.可用性和易于维护 D.用户安全 8、( )锁用于锁定表,允许其他用户查询表中的行和锁定表,但不 允许插入、更新和删除行。 A.行共享 B.行排他 C.共享 D.排他 9、带有( )子句的SELECT语句可以在表的一行或多行上放置排他锁。 A.FOR INSERT B.FOR UPDATE C.FOR DELETE D.FOR REFRESH 10、使用( )命令可以在已分区表的第一个分区之前添加新分区。 A.添加分区 B.截断分区 C.拆分分区 D.不能在第一个分区前添加分区 11、( )分区允许用户明确地控制无序行到分区的映射。 A.散列 B.范围 C.列表 D.复合 12、可以使用()伪列来访问序列。 A.CURRVAL和NEXTVAL B.NEXTVAL和PREVAL C.CACHE和NOCACHE D.MAXVALUE和MINVALUE 13、带有错误的视图可使用()选项来创建。 A.FORCE B.WITH CHECK OPTION

Oracle_SQL_练习题及答案

本文由NiCoBee贡献Oracle SQL 练习题 注:这些查询题目涵盖了各种查询的技术,请大家认真做,做好了的查询语句之后,有兴趣的同学可以再创建相应的视图和存储过程 create table wkj_student( sno varchar2(10) primary key, sname varchar2(20), sage number(2), ssex varchar2(5) ); create table wkj_teacher( tno varchar2(10) primary key, tname varchar2(20) ); create table wkj_course( cno varchar2(10), cname varchar2(20), tno varchar2(20), constraint pk_course primary key (cno,tno) ); create table wkj_sc( sno varchar2(10), cno varchar2(10), score number(4,2), constraint pk_sc primary key (sno,cno) ); /*******初始化学生表的数据******/ insert into student values ('s001','张三',23,'男'); insert into student values ('s002','李四',23,'男'); insert into student values ('s003','吴鹏',25,'男'); insert into student values ('s004','琴沁',20,'女'); insert into student values ('s005','王丽',20,'女'); insert into student values ('s006','李波',21,'男'); insert into student values ('s007','刘玉',21,'男'); insert into student values ('s008','萧蓉',21,'女'); insert into student values ('s009','陈萧晓',23,'女'); insert into student values ('s010','陈美',22,'女'); commit; /******************初始化教师表***********************/ insert into teacher values ('t001', '刘阳'); insert into teacher values ('t002', '谌燕'); insert into teacher values ('t003', '胡明星'); commit; /***************初始化课程表****************************/ insert into course values ('c001','J2SE','t002'); insert into course values ('c002','Java Web','t002'); insert into course values ('c003','SSH','t001'); insert into course values ('c004','Oracle','t001'); insert into course values ('c005','SQL SERVER 2005','t003'); insert into course values ('c006','C#','t003'); insert into course values ('c007','JavaScript','t002');

Oracle数据库试题及答案

O r a c l e数据库试题及 答案 Company Document number:WTUT-WT88Y-W8BBGB-BWYTT-19998

Oracle数据库试题 一、选择题 1、段是表空间中一种逻辑存储结构,以下( D )不是ORACLE数据库使用的段类型。 (A)索引段(B)临时段(C)回滚段(D)代码段 2、 ORACLE数据库物理结构包括以下三种文件,以下不属于的是( A )。(A)系统文件(B)日志文件(C)数据文件(D)控制文件 3、数据库中有两个用户scott和muuser,物资表wz是属于myuser用户的,但当前用户是scott,要求查询物资表wz(wno,wname,wtype,wunit)物资单位wunit列为null的记录,取结果的前5条记录显示,以下正确的SQL语句是( C ) (A)select*from where wunit is null and rownum<5; (B)select*from where wunit = null and rownum<5; (C) select*from where wunit is null and rownum<6; (D)select*form where wunit is null and rownum<6; 4、若当前日期为’25-5月-06’,以下( D )表达式能计算出5个月后那一天所在月份的最后一天的日期。 (A)NEXT_DAY(ADD_MONTHS(28-5月-06,5)) (B)NEXT_DAY(MONTHS_BETWEEN(28-5月-06,5)) (C)NEXT_DAY(MONTHS_BETWEEN(’28-5月-06’,5)) (D)NEXT_DAY(ADD_MONTHS(’28-5月-06’,5)) 5、下列叙述中正确的是_C_。

Oracle复习题及答案

郑州大学软件技术学院《Oracle》课程 2009-2010学年第一学期期末试题(A) (适用专业:08信管、Java、.NET专业考试时间:120分钟) 单选:1 Oracle 10g中的g表示(C)。 A 网络 B 数据库 C 网格计算 D 版本 2 Oracle 10g的管理工具中,(B)是一个非常重要的、在服务器端和客户端都可以使用的工具。主要功能有:输入、运行和调试SQL语句、PL/SQL块。 A OUI B SQL*PLUS C OEM D DBCA 3 Oracle数据库的例程由(D)组成。 A SGA和PGA B SGA和数据库 C 数据库和后台进程 D SGA(系统全局区)和后台进程 4 Oracle进程结构中完成更新控制文件与数据文件,使其同步并触发DBWR进程,使其将脏缓存块写入数据文件中的进程是(C)。 A 用户进程 B 服务进程 C 后台进程CKPT D 后台进程DBWR 5 某用户想查看自己所能看到的表信息,那么应该看(D)视图。 A v$tables B dba_tables C all_tables D user_tables 6 可以在Oracle服务器的安装目录的(C)文件中查看Oracle的各种端口的使用情况。 A B C D 7 相对于Oracle数据库的作用,类似于Windows操作系统中注册表的作用。这类数据库文件是(D): A 参数文件 B 数据文件 C 重做日志文件 D 控制文件 8 Oracle的逻辑存储结构中由大到小的顺序是(B): A 表空间、区、段、块 B 表空间、段、区、块 C 表空间、块、段、区 D 段、区、表空间、块 9 下列哪种表空间可以被设置为脱机状态(B)。 A 系统表空间 B 用户表空间 C 临时表空间 D 撤销表空间 10 读下段程序: SQL> select * from v$log; GROUP# THREAD# SEQUENCE# BYTES MEMBERS ARC STATUS ---------- ---------- ---------- ---------- ---------- --- ----------- 1 1 29 1 NO INACTIVE 2 1 30 1 NO CURRENT 3 1 28 1 NO INACTIVE SQL> alter system switch logfile;

oracle数据库期末考试试题及答案(一)

CBO 需要 选择 1) CBO 与 RULE 的区别, RBO 根据规则选择最佳执行路径来运行查询, 根据表统计找到最低成本的访问数据的方法确定执行计划。使用 CBO 注意: a) 需要使用提示 (Hint) b) 优化 SQL 的写法 c) 选择最有效率的表名顺序 d) 需要经常对表进行 ANAL YZE 命令进行分析统计 d) 需要稳定执行计划 2) 在 Oracle 中,一个用户拥有的所有数据库对象统称为() a) 数据库 b) 模式 c) 表空间 d) 实例 3) 在 Oracle 中,可用于提取日期时间类型特定部分(如年、月、日、时、分、 秒)的函数有() 。 a) DATEPART b) EXTRACT c) TO_CHAR d) TRUNC 4) 在 Oracle 中,有一个教师表 teacher 的结构如下: ID NUMBER(5) NAME V ARCHAR2(25) EMAIL VARCHAR2(50) 下面哪个语句显示没有 Email 地址的教师姓名() a) SELECT name FROM teacher WHERE email = NULL; b) SELECT name FROM teacher WHERE email <> NULL; c) SELECT name FROM teacher WHERE email IS NULL; d) SELECT name FROM teacher WHERE email IS NOT NULL;

5) 在Oracle 数据库的逻辑结构中有以下组件: A 表空间 B 数据块 C 区 D 段 这些组件从大到小依次是() a) A f B f C f D b) A f D f C f B c) A f C f B f D d) D f A f C f B 6)在Windows 操作系统中,Oracle 的()服务监听并接受来自客户端应用程序的连接请求。 a) OracleHOME_NAMETNSListener b) OracleServiceSID c) OracleHOME_NAMEAgent d) OracleHOME_NAMEHTTPServer 7)在Oracle 中创建用户时,若未提及DEFAULT TABLESPACE 关键字,则Oracle 就将()表空间分配给用户作为默认表空间。。 a) USER b) SYSTEM c) SYS d) DEFAULT 8)在Oracle 数据库中,()用户模式存储数据字典表和视图对象。 a)SYSTEM b)SYS c)SCOTT d)SYSDBA 9)在Oracle 中,下面哪条语句当COMM 字段为空时显示0,不为空时显示COMM 的值()。

Oracle测试题及答案

Oracle试题 (数据库技术及应用) 学号姓名分数(一) 按照题意写出SQL语句(45分每题3分) 本题用到下面三个关系表: 借书卡card(cno卡号,name姓名,class班级) 图书books(bno书号,bname书名,author作者,price 单价,quantity库存册数) 借书记录borrow (cno借书卡号,bno书号,rdate还书日期) 注:限定每人每种书只能借一本;库存册数随借书、还书而改变。 1.写出建立borrow表的SQL语句,要求定义主码完整性约束和引用完整性约束。create table card (cno char(6) primary key, name varchar2(10), class varchar2(12) ); create table books (bno char(8) primary key, bname varchar2(50), author varchar2(10), price number(5,3), quantity number(4) ); create table borrow (cno char(6) references card(cno) on delete cascade, bno char(8) references books(bno) on delete cascade, rdate date, primary key(cno,bno) ); 2.找出借书超过5本的读者,输出借书卡号及所借图书册数。 select cno,count(*) 册数 from borrow group by cno having count(*)>5; 3.查询借阅了“水浒”一书的读者,输出姓名及班级。 select name,class from card where cno in ( select cno from borrow where bno=( select bno from books where bname='水浒'

oracle期末考试试题及答案

A.PGA B.日志缓冲区C.数据缓冲区D.共享池 2、()模式存储数据库中数据字典的表和视图。 A.DBA B.SCOTT C.SYSTEM D.SYS 3、在Oracle中创建用户时,若未提及DEFAULT TABLESPACE关键字,则Oracle就将() 表空间分配给用户作为默认表空间。 A.HR B.SCOTT C.SYSTEM D.SYS 4、()服务监听并按受来自客户端应用程序的连接请求。 A.OracleHOME_NAMETNSListener B.OracleServiceSID C.OracleHOME_NAMEAgent D.OracleHOME_NAMEHTTPServer 5、()函数通常用来计算累计排名、移动平均数和报表聚合等。 A.汇总B.分析C.分组D.单行 6、()SQL语句将为计算列SAL*12生成别名Annual Salary A.SELECT ename,sal*12 …Annual Salary? FROM emp; B.SELECT ename,sal*12 “Annual Salary” FROM emp; C.SELECT ename,sal*12 AS Annual Salary FROM emp; D.SELECT ename,sal*12 AS INITCAP(“Annual Salary”) FROM emp; 7、锁用于提供( )。 A.改进的性能 B.数据的完整性和一致性 C.可用性和易于维护 D.用户安全 8、( )锁用于锁定表,允许其他用户查询表中的行和锁定表,但不允许插入、更新和删除 行。 A.行共享B.行排他C.共享D.排他 9、带有( )子句的SELECT语句可以在表的一行或多行上放置排他锁。 A.FOR INSERT B.FOR UPDATE C.FOR DELETE D.FOR REFRESH 10、使用( )命令可以在已分区表的第一个分区之前添加新分区。 A.添加分区B.截断分区 C.拆分分区D.不能在第一个分区前添加分区 11、( )分区允许用户明确地控制无序行到分区的映射。 A.散列B.范围C.列表D.复合 12、可以使用()伪列来访问序列。 A.CURRVAL和NEXTVAL B.NEXTVAL和PREVAL C.CACHE和NOCACHE D.MAXVALUE和MINVALUE 13、带有错误的视图可使用()选项来创建。 A.FORCE B.WITH CHECK OPTION C.CREATE VIEW WITH ERROR D.CREATE ERROR VIEW

史上最全Oracle数据库基本操作练习题(含答案)

Oracle基本操作练习题 使用表: 员工表(emp): (empno NUMBER(4)notnull,--员工编号,表示唯一 ename VARCHAR2(10),--员工姓名 job VARCHAR2(9),--员工工作职位 mgr NUMBER(4),--员工上级领导编号 hiredate DATE,--员工入职日期 sal NUMBER(7,2),--员工薪水 comm NUMBER(7,2),--员工奖金 deptno NUMBER(2)—员工部门编号 ) 部门表(dept): (deptno NUMBER(2)notnull,--部门编号 dname VARCHAR2(14),--部门名称 loc VARCHAR2(13)—部门地址 ) 说明:增删改较简单,这些练习都是针对数据查询,查询主要用到函数、运算符、模糊查询、排序、分组、多变关联、子查询、分页查询等。

建表脚本(根据需要使用):建表脚本.txt 练习题: 1.找出奖金高于薪水60%的员工信息。 SELECT * FROM emp WHERE comm>sal*0.6; 2.找出部门10中所有经理(MANAGER)和部门20中所有办事员(CLERK)的详细资料。 SELECT * FROM emp WHERE (JOB='MANAGER' AND DEPTNO=10) OR (JOB='CLERK' AND DEPTNO=20); 3.统计各部门的薪水总和。 SELECT deptno,SUM(sal) FROM emp GROUP BY deptno; 4.找出部门10中所有理(MANAGER),部门20中所有办事员(CLERK)以及既不是经理又不是办事员但其薪水大于或等2000的所有员工的详细资料。 SELECT * FROM emp WHERE (JOB='MANAGER' AND DEPTNO=10) OR (JOB='CLERK' AND DEPTNO=20) OR (JOB NOT IN('MANAGER','CLERK') AND SAL>2000);

oracle数据库期末考试试题及答案

oracle数据库期末考试试题及答案 A1、以下()内存区不属于SGA。 A.PGA B.日志缓冲区C.数据缓冲区D.共享池 D2、()模式存储数据库中数据字典的表和视图。 A.DBA B.SCOTT C.SYSTEM D.SYS C3、在Oracle中创建用户时,若未提及DEFAULT TABLESPACE 关键字,则Oracle就将()表空间分配给用户作为默认表空间。 A.HR B.SCOTT C.SYSTEM D.SYS A4、()服务监听并按受来自客户端应用程序的连接请求。 A.OracleHOME_NAMETNSListener B.OracleServiceSID C.OracleHOME_NAMEAgent D.OracleHOME_NAMEHTTPServer B5、()函数通常用来计算累计排名、移动平均数和报表聚合等。 A.汇总B.分析C.分组D.单行 B6、()SQL语句将为计算列SAL*12生成别名Annual Salary A.SELECT ename,sal*12 …Annual Salary? FROM emp; B.SELECT ename,sal*12 “Annual Salary” FROM emp; C.SELECT ename,sal*12 AS Annual Salary FROM emp; D.SELECT ename,sal*12 AS INITCAP(“Annual Salary”) FROM

emp; B7、锁用于提供( )。 A.改进的性能 B.数据的完整性和一致性 C.可用性和易于维护 D.用户安全 C8、( )锁用于锁定表,允许其他用户查询表中的行和锁定表,但不允许插入、更新和删除行。 A.行共享B.行排他C.共享D.排他 B9、带有( )子句的SELECT语句可以在表的一行或多行上放置排他锁。 A.FOR INSERT B.FOR UPDATE C.FOR DELETE D.FOR REFRESH C10、使用( )命令可以在已分区表的第一个分区之前添加新分区。 A.添加分区B.截断分区 C.拆分分区D.不能在第一个分区前添加分区 C11、( )分区允许用户明确地控制无序行到分区的映射。 A.散列B.范围C.列表D.复合 C12、可以使用()伪列来访问序列。 A.CURRVAL和NEXTVAL B.NEXTVAL和PREVAL C.CACHE和NOCACHE D.MAXVALUE和MINVALUE A13、带有错误的视图可使用()选项来创建。

相关文档