文档库 最新最全的文档下载
当前位置:文档库 › oracle复习题讲解

oracle复习题讲解

oracle复习题讲解
oracle复习题讲解

一、选择题

1. Oracle数据表中,下面哪个可以作为有效的列名( A )(选择一项)

A. class

B. 123_NUM

C. date

D. #123_NUM

2. Oracle中的三种系统文件分别是( ABC )〔选择三项〕

A. 数据文件 DBF

B. 控制文件 CTL

C. 日志文件 LOG

D. 归档文件 ARC

3.下面哪个命令可以用来查看学生表(表名student)的表结构( C )〔选择一项〕

A. Select student ;

B. Display student ;

C. Describe student ;

D. Show student ;。

4.下面哪个命令不属于数据定义语言(DDL)( D )(选择一项)

A. alter table… B、drop index…

C、create view…

D、update tablename…

5.在设计数据库时,要充分考虑数据的完整性或准确性。下面关于primary key和unique的描述错误的是()〔选择一项)

A. primary key用来在表中设置主键,主键列的值是不能重复的,用来唯一标识表中的每一条记录

B. 设为unique的列的值是不能重复的,用来唯一区别unique列的值

C. primary key列不可以有null值, 而unique列是可以有null的

D. primary key列和unique列都不可以有null值

6.假定有一张表员工表employee,其中一性别字段sex,该列只能存入'男'或'女'。为了维护数据的完整性,在设计数据库时,最好对sex字段添加约束,请问应该添加什么约束( B )(选择一项)

A. primary key B、check C、default D、unique

7.为表TEST中ID列添加主键约束的语法是( D )〔选择一项〕

A. ALTER TABLE TEST CHANGE( ID INT PRIMARY KEY)

B. ALTER TABLE TEST ADD( ID INT PRIMARY KEY)

C. ALTER TABLE TEST MODIFY( ID INT PRIMARY KEY)

D. ALTER TABLE TEST ADD CONSTRAINT PK PRIMARY KEY (ID)

8.如果表DEPT包含3条记录,现在用如下命令对其进行修改,

ALTER TABLE DEPT ADD(COMP NUMBER(4) NOT NULL);

请问下面哪一个说法是正确的?( D )(选择一项)

A. 该语句在表的最前面插入一个非空列

B. 该语句在表的最后插入一个非空列

C. 该语句执行完成后,应当立即执行COMMIT语句,以确保更改生效

D. 该语句将产生错误

9.关于聚合行数描述错误的是( B )〔选择一项)

A. avg(), sum() 只能用于数值类型的字段上

B. max() , min() 只能用于数值类型的字段上

C. max() , min() 可以用于数值类型或日期类型或字符串类型的字段上

D. count()可以用于任何类型的字段上

10.删除emp表中所有数据,且无法rollback,以下语句哪个命令可以实现(A )(选择一项)

A. truncate table emp

B. drop table emp

C. delete * from emp

D. delete from emp

11.你发出命令: DROP TABLE emp;

此时你还没有明确发出COMMIT命令。你能用什么命令撤消上面的drop语句所做的操作?( D )〔选择一项〕

A. 关闭数据库

B. 发出一个ROLLBACK命令

C. 终断正在活动的会话

D. 什么命令都不可以,因为DDL语句不能被回滚

12.有Oracle表”cd”,它包含属性”cdcode”,”category”

和”cdname”,你要查询category取值为”CLASSIC”或”ROCK”的行,你采用语句( A )(选择两项)

A. SELECT * FROM cd WHERE category IN ('CLASSIC','ROCK');

B. SELECT * FROM cd WHERE category BETWEEN 'CLASSIC' AND 'ROCK';

C. SELECT * FROM cd WHERE category='CLASSIC' AND category='ROCK';

D. SELECT * FROM cd WHERE category='CLASSIC' OR category='ROCK'

13.更改oracle用户HR,使其变为不可用(锁定)状态( D )〔选择一项〕

A. UPDATE USER HR ACCOUNT DISABLE ;

B. UPDATE USER HR ACCOUNT LOCK ;

C. ALTER USER HR ACCOUNT DISABLE ;

D. ALTER USER HR ACCOUNT LOCK ;

14.INSERT INTO TEST VALUES(‘&ID’, ’&NAME’); 语句在执行时将(D )〔选择一项〕

A. 编译错:提示变量未定义

B. 运行错:提示不能识别符号

C. 将值&ID和&NAME插入到表中

D. 提示用户输入ID和NAME的值,再将输入值插入表中

15.下面关于删除视图的说法哪一个是正确的( B )。(选择一项)

A. 删除视图后应立即用COMMIT语句使更改生效

B. 删除视图后,和视图关联的表中的数据依然存在

C. 视图被删除后视图中的数据也将被删除

D. 用delete VIEW删除视图

16.若update emp set salary=1000 中缺少where 条件:( A )(选择一项)

A. 更改表中所有记录

B. 更改第一条记录

C. 记录未更改。

D. 提示错误:缺少where字句

19. 在Oracle中,有一个名为seq的序列对象,以下语句能返回序列值但不会引起序列值增加的是( C )(选择一项)

A. select seq.ROWNUM from dual;

B. select seq.ROWID from dual;

C. select seq.CURRVAL from dual;

D. select seq.NEXTVAL from dual;

20. 在Oracle中,有一个名为seq的序列对象,假定此时查看seq序列当前值显示为7,那么执行下面的sql

insert into stu(id, name) values(seq.NEXTVAL,'tom' );

很不幸,这个insert没有执行成功,随后马上执行rollback,问:此时查看seq序列当前值显示为(B )〔选择一项〕

A. 6 B、8 C、7 D、不能确定

21. Oracle中,在一个PL/SQL块中调用另一个PL/SQL过程的方法是

( D )(选择一项)

A. 使用CALL语句

B. 使用EXECUTE语句

C. 使用RUN语句

D 直接使用过程名

22. 关于聚合行数描述错误的是( B )。

A. avg(), sum() 只能用于数值类型的字段上

B. max() , min() 只能用于数值类型的字段上

C. max() , min() 可以用于数值类型或日期类型或字符串类型的字段上

D. count()可以用于任何类型的字段上

23. PL/SQL块中哪几部分是可选的( A )〔选择二项〕

A Declare

B Begin

C Exception

D 以上均是

24. 在触发器中可使用的引用有( D )〔选一项〕

A new

B Old

C :Update

D :New和:Old

25. 如果表DEPT包含3条记录,现在用如下命令对其进行修改,

ALTER TABLE DEPT ADD(COMP NUMBER(4) NOT NULL);

请问下面哪一个说法是正确的( D )

A. 该语句在表的最前面插入一个非空列

B. 该语句在表的最后插入一个非空列

C. 该语句执行完成后,应当立即执行COMMIT语句,以确保更改生效

D. 该语句将产生错误

26.( C )是用于控制数据访问的语言。

A.DML B.DDL C.DCL D.DLL

27. 数据定义语言是用于( B )的方法。〔选择一项〕

A.确保数据的准确性 B、定义和修改数据结构

C、查看数据

D、删除和更新数据、

28. 要以自身的模式创建私有同义词,用户必须拥有( C )系统权限。〔选择一项〕

A CREATE PRIVATE SYNONYM

B CREATE PUBLI

C SYNONYM

C CREATE SYNONYM

D CREAT

E ANY SYNONYM

29. 通常情况下,( BD )值可以唯一地标识数据库中的一行。〔选择二项〕

A ROWNUM

B PRIMARY KEY

C UNIQUE

D ROWID

30. Oracle数据表中,下面哪个可以作为有效的列名__A____。

A. class

B. 123_NUM

C. date

D.

#123_NUM

31. 你发出命令: DROP TABLE emp;

此时你还没有明确发出COMMIT命令。你能用什么命令撤消上面的drop语句所做的操作?( B )〔选择一项〕

A 关闭数据库

B 什么命令都不可以,因为DDL语句不能被回滚

C 发出一个ROLLBACK命令

D 终断正在活动的会话

32. 以下哪些是有效的Oracle约束类型?( ACEG )(选择四项)

A. UNIQUE

B.NONUNIQUE

C. CHECK

D.CASCADE

E. PRIMARY KEY

F.CONSTANTG

G.NOT NULL

33.更改oracle用户HR,使其变为不可用(锁定)状态( C )〔选择一项〕

A UPDATE USER HR ACCOUNT DISABLE ;

B UPDATE USER HR ACCOUNT LOCK ;

C ALTER USER HR ACCOUNT LOCK ;

D ALTER USER HR ACCOUNT DISABL

E ;

34.( B )函数通常用来计算累计排名、移动平均数和报表聚合等。〔选择一项)

A 汇总

B 分析

C 分组

D 单行

35.PL/SQL块中不能直接使用的SQL命令是( D )〔选一项〕

A. SELECT

B. INSERT

C. UPDATE

D DROP

36. 下面哪些是过程中的有效参数模式?(ABC )〔不定项选择〕

A.IN

B. INOUT

C.OUT

D. OUT IN

37.一般在( D )中有机会使用:NEW和:OLD

A.游标 B.存储过程

C.函数 D.触发器

38.在Oracle中,PL/SQL块中定义了一个带参数的游标:

CURSOR emp_cursor(dnum NUMBER) IS

SELECT sal, comm FROM emp WHERE deptno = dnum;

那么正确打开此游标的语句是(D )

A. OPEN emp_cursor;

B. OPEN emp_cursor FOR 20;

C. OPEN emp_cursor USING 20;

D. FOR emp_rec IN emp_cursor(20) LOOP … END LOOP;

39.( C )是一个单一的逻辑工作单元。

A.记录 B.数据库

C.事务 D.字段

40.当每个非主键列完全依赖于(整个)主键列时,关系设计属于下列哪一种形式( B )

A.第一范式 B.第二范式

C.第三范式 D.第四范式

41.下面的查询中哪一个会产生笛卡尔集?( B )

A.SELECT e.empno, e.ename, e.deptno, d.deptno, d.loc FROM emp e, dept d

WHERE e.deptno = d.deptno;

B.SELECT e.empno, e.ename, e.deptno, d.deptno, d.loc FROM emp e, dept d;

C.SELECT e.empno, e.ename, e.deptno, d.deptno, d.loc FROM emp e, dept d

WHERE e.empno = 101 and e.deptno = d.deptno;

D.SELECT e.empno, e.ename, e.deptno, d.deptno, d.loc FROM emp e, dept d

WHERE e.deptno= d.deptno and d.deptno = 60;

42.当给一个有主键的表中插入重复行时,将引发下列哪个异常?( C )

A.NO_DATA_FOUND B.TOO_MANY_ROWS

C.DUP_VAL_ON_INDEX D.ZERO_DIVIDE

43.授予删除任何表的系统权限(DROP ANY TABLE)给user1,并使其能继续授该权限给其他用户,以下正确的SQL语句是( B )

A.Grant drop any table to user1;

B.Grant drop any table to user1 with admin option;

C.Grant drop table to user1;

D.Grant drop any table to user1 with check potion;

44.数据库中有两个用户scott和myuser,物资表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;

45.已创建序列S1,若当前值为2,先执行3次S1.CURRVAL,再执行3次S1.NEXTVAL,最后S1的值是( C )

A.3 B.4 C.5 D.6

46.语句SELECT * FROM dept WHERE NOT EXISTS (SELECT * FROM emp WHERE deptno=dept.deptno)执行后的结果为( B )

A.只显示存在于EMP表中的部门全部信息。

B.只显示不存在于EMP表中的部门全部信息

C.未返回任何数据

D.显示DEPT表中的全部信息

47.视图可以用于( C )

A.限制对表中指定列的访问

B.限制对表中行的子集的访问

C.A和B都是

D.A和B都不是

48.当删除父表中的数据时,在CREATE TABLE语句的外键定义中指定的( B )选项删除子表中的数据。

A.ON TRUNCATE CASCADE

B.ON DELETE CASCADE

C.ON UPDATE CASCADE

D.A和C都是

49.下列哪个是组合主键的特征( B )

A.每列有唯一的值,但不是NULL值

B.组合有唯一的值,并且其中每列没有NULL值

C.组合的第一列和最后一列有唯一值

D.组合的第一列和最后一列有唯一值,但没有NULL值

50.下面哪一个语句可以使用子查询( D )

A.SELECT 语句 B.UPDATE语句

C.DELETE语句 D.以上都是

51.哪一个是子查询执行的顺序( A )

A.最里面的查询到最外面的查询

B.最外面的查询到最里面的查询

C.简单查询到复杂查询

D.复杂查询到简单查询

52.若当前日期为’25-5月-06’,以下( D )表达式能计算出5个月后那一天所在月份的最后一天的日期。

A.NEXT_DAY(ADD_MONTHS(’28-5月-06’,5))

B.NEXT_DAY(MONTHS_BETWEEN(’28-5月-06’,5))

C.LAST_DAY(MONTHS_BETWEEN(’28-5月-06’,5))

D.LAST_DAY(ADD_MONTHS(’28-5月-06’,5))

53.以下运算结果不为空值的是( C )

A.12+NULL

B.60*NULL

C.NULL‖’NULL’

D.12/(60+NULL)

54. 下面哪一个like命令会返回名字象HOTKA的行?( B )

A.where ename like ‘_HOT%'

B.where ename like ‘H_T%'

C.where ename like ‘%TKA_'

D.where ename like ‘%TOK%'

55.( B )子句用于列出唯一值。

A.unique B.distinct C.order by D.group by

二、SQL编写题

1.统计公司有多少个岗位(工种的个数)。

select count(distinct job) from emp;

2.检索出10部门或20部门的员工信息,显示字段:empno、ename、deptno。

select empno,ename,deptno from emp where deptno=10 or deptno=20;

3.检索公司员工中姓张的员工信息。显示字段:empno、ename、deptno。

select empno,ename,deptno from emp where ename like ‘张%’;

4. 检索部门编号、部门名称、部门所在地及其每个部门的员工总数。

select d.deptno,d.dname,d.loc,count(*) from emp e,dept d where e.deptno=d.deptno group by d.deptno,d.dname,d.loc;

5.检索10部门中1980年2月份之前入职的员工信息。显示:empno、ename、deptno、hiredat e。

select * from emp where deptno=10 and

hiredate

6. 检索工资等级高于smith的员工信息。

select * from emp e join salgrade s on (e.sal between s.losal and s.hisal) where s.grade>(select distinct s.grade from emp e join salgrade s on ((select sal from emp where ename='SMITH') between s.losal and s.hisal));

7.按部门号(deptno)及工资(sal)排序检索公司的员工信息(要求部门号从小到大,部门号相同的按工资由高到低),显示的字段为:empno、ename、sal、deptno。

select empno,ename,sal,deptno from emp order by deptno asc,sal desc;

8. 检索与SCOTT从事相同工作的员工信息。

select * from emp where job=(select job from emp where ename='SCOTT');

9. 检索与30部门员工工资等级相同的员工姓名与工资。

select * from emp e join salgrade s on (e.sal between s.LOSAL and s.HISAL) where s.grade=(select distinct s.grade from emp e join salgrade s on ((select avg(sal) from emp where deptno=30) between s.LOSAL and s.HISAL));

10.检索每位员工的年收入(基本计算方法为:(月工资sal+月奖金comm)*12 ),显示字段:员工号、员工名、年收入(要求年收入有别名‘年收入’)。

select empno,ename,((sal+nvl(comm,0))*12) as 年收入 from emp;

11.检索和名叫SCOTT的员工相同工资的员工信息,但不显示SCOTT。显示字段:员工号、员工名、工资。

select empno,ename,sal from emp where sal =(select sal from emp where ename='SCOTT') and ename!='SCOTT';

12. 检索雇员的雇佣日期早于其经理雇佣日期的员工及其经理姓名。<自连接>

select e.ename 雇员,m.ename 经理,e.HIREDATE 雇员的雇佣日

期,m.hiredate 经理雇佣日期 from emp e,emp m where e.mgr=m.empno and e.hiredate

13.检索出员工表emp中的第6条到第10条记录。显字段:emp表中的全部字段。

select * from (select rownum num,e.* from emp e) where num>=6 and num<=10;

14. 检索出员工的总工资及平均工资

select sum(sal),avg(sal) from emp;

15. 检索工资在2000元至4000元之间的员工信息。

select * from emp where sal between 2000 and 4000;

16.编写一sql语句,将7521号员工的入职日期改为1998/5/26,工资提高500 ,其他信息不变。

update emp set

hiredate=to_date(‘1998-05-26’,’yyyy-mm-dd’),sal=sal+500 where empno=7521;

17.删除部门20下的所有员工。

delete from emp where deptno=20;

18. 编写SQL语句,将部门30下的员工工资下调5%。

update emp set sal=sal*0.95 where deptno=30;

19、查询所在部门编号为20,工资高于2500或岗位是CLERK的所有雇员信息

select * from emp where DEPTNO=20 and SAL>2500 or JOB='CLERK';

20、查询所在部门为20/30的,岗位不是CLERK或SALESMAN的雇员信息

select * from emp where DEPTNO in (20,30) and JOB not

in('SALESMAN','CLERK');

21、查询工资在2500-3500之间,1981年出生的没有领到补助的雇员信息

select * from emp where SAL between 2500 and 3500 and

to_char(HIREDATE,'yyyy')='1981' and COMM is null;

22、查询姓名首字母为A或第二个字符为B的雇员信息

select * from emp where ENAME like'A%' or ENAME like'_B%';

23、部门编号降序姓名升序

select * from emp order by DEPTNO desc,ename asc;

24、每个部门平均工资和最高工资

select avg(SAL),max(SAL) from emp group by DEPTNO;

25、每个部门平均工资和最高工资按平均工资排序

select avg(SAL),max(SAL) from emp group by DEPTNO order by avg(SAL) desc;

26、显示每个部门、每种岗位的平均工资和最高工资

select avg(SAL),max(SAL) from emp group by DEPTNO,JOB;

27、查询平均工资高于2000的部门编号,部门的工资和最高工资

select DEPTNO,avg(SAL),max(SAL) from emp group by DEPTNO having avg(SAL)>2000;

28、查询emp表所在部门30的雇员及管理员的姓名

select 雇员表.ename,管理员表.ename from emp 雇员表,emp 管理员表where 雇员表.MGR=管理员表.EMPNO and EMPNO=30;

29、显示工作在new york的雇员信息

select * from emp inner join dept on emp.deptno=dept.deptno where dept.loc='NEW YORK';

30. 用PL/SQL实现输出7369号员工的姓名。

set serveroutput on;

declare

var_empno number(4) := 7369 ;

var_name varchar2(10);

var_sal number(9,2);

begin

select ename ,sal into var_name ,var_sal from emp where empno = var_empno;

dbms_output.put_line(var_empno || ' 的名字是 :' || var_name);

dbms_output.put_line(var_empno || ' 的工资是 :' || var_ sal );

end;

31. 对所有员工,如果该员工职位是MANAGER,并且在DALLAS工作那么就给他薪金加15%;如果该员工职位是CLERK,并且在NEW YORK工作那么就给他薪金扣除5%;其他情况不作处理。要求:使用游标或函数编程实现。

set serveroutput on;

declare

cursor c1 is select * from emp;

c1rec c1%rowtype;

v_loc varchar2(20);

begin

for c1rec in c1 loop

select loc into v_loc from dept where deptno = c1rec.deptno;

if c1rec.job = 'MANAGER' and v_loc = 'DALLAS' then

update emp set sal = sal * 1.15 where empno = c1rec.empno;

elsif c1rec.job='CLERK' and v_loc = 'NEW YORK' then

update emp set sal = sal * 0.95 where empno = c1rec.empno;

else

null;

end if;

end loop;

end;

32、将插入的雇员的名字变成以大写字母开头。

CREATE OR REPLACE TRIGGER INITCAP

BEFORE

INSERT

ON EMP

FOR EACH ROW

BEGIN

:new.ename:=INITCAP(:new.ename);

END;

oracle练习题

1、Oracle是对象关系型数据库管理系统。 2、Oracle 9i中的i和Oracle 10g、Oracle11g中的g各代表什么意思。 i是internet的意思,g是grid网格运算 3、数据库DB、数据库系统DBS、数据库管理系统DBMS三者之间的关系是___A____。(选择1项) A)DBS包括DB和DBMS B)DBMS包括DB和DBS C)DB包括DBS和DBMS D)DBS就是DB,也就是DBMS 5、完全卸载Oracle 11g时,需要进行的第一步操作是( A )。 A 停止所有的Oracle服务 B 启动Oracle的卸载向导 C 删除磁盘上的Oracle文件 D 删除数据库Orcl 6、安装Oracle数据库过程中SID指的是什么( B )。 A 系统标识号 B 数据库名 C 用户名 D 用户口令 7、Oracle网络配置分为服务器端和客户端,监听程序的配置是在_数据库服务 器端_。 8、监听程序与Net服务名的关系是怎样的? Oracle中的Net工具都能用来配置监听器和网络服务名 9、要开启Oracle服务器,必须开启的两个服务是( D )。 A.OracleHOME_NAMETNSListener和OracleHOME_NAMEAgent B.OracleServiceSID和OracleHOME_NAMEHTTPServer

C.OracleHOME_NAMEAgent和OracleServiceSID D.OracleHOME_NAMETNSListener和OracleServiceSID A 数据文件 B 控制文件 C 日志文件 D 归档日志文件 5、在Oracle中,一个用户拥有的所有数据库对象统称为(A)。 A 数据库 B 模式 C 表空间 D 实例 6、在Oracle数据库的逻辑结构中有以下组件: A 表空间 B 数据块 C 区 D 段 这些组件从大到小依次是( B) A A->B->C->D B A->D->C->B C A->C->B-> D D D->A- >C->B 7、在Windows操作系统中,Oracle的( A )服务器监听并接受来自客户端 应用程序的连接请求。 A OracleHOME_NAMETNSListener B OracleServiceSID

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考试试题 一、选择(每题3分) 1) 当Oracle服务器启动时,下列哪种文件不是必须的()。 a) 数据文件 b) 控制文件 c) 日志文件 d) 归档日志文件 参考答案 D 2) 在Oracle中,当用户要执行SELECT语句时,下列哪个进程从磁盘获得用 户需要的数据()。 a) 用户进程 b) 服务器进程 c) 日志写入进程(LGWR) d) 检查点进程(CKPT) 参考答案 B 3) 在Oracle中,一个用户拥有的所有数据库对象统称为()。 a) 数据库 b) 模式 c) 表空间 d) 实例 参考答案 B 4) 在Oracle中,可用于提取日期时间类型特定部分(如年、月、日、时、分、 秒)的函数有()。 a) DATEPART b) EXTRACT c) TO_CHAR d) TRUNC 参考答案bc 5) 在Oracle中,有一个教师表teacher的结构如下: ID NUMBER(5) NAME V ARCHAR2(25) EMAIL V ARCHAR2(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; 参考答案 C 6) 在Oracle数据库的逻辑结构中有以下组件: A 表空间 B 数据块 C 区 D 段 这些组件从大到小依次是()。 a) A→B→C→D b) A→D→C→B c) A→C→B→D d) D→A→C→B 参考答案 b 7) 在Windows操作系统中,Oracle的()服务监听并接受来自客户端应用程 序的连接请求。 a) OracleHOME_NAMETNSListener b) OracleServiceSID c) OracleHOME_NAMEAgent d) OracleHOME_NAMEHTTPServer 参考答案 a 8) 在Windows操作系统中,Oracle的()服务是使用iSQL*Plus必须的。 a) OracleHOME_NAMETNSListener b) OracleServiceSID c) OracleHOME_NAMEAgent d) OracleHOME_NAMEHTTPServer 参考答案 B 9) 在 Oracle 中创建用户时,若未提及 DEFAULT TABLESPACE 关键字,则 Oracle 就将()表空间分配给用户作为默认表空间。。 a) USER b) SYSTEM c) SYS d) DEFAULT 参考答案 B 10) 在Oracle数据库中,()用户模式存储数据字典表和视图对象。 a) SYSTEM

oracle复习题

一、选择题 1. Oracle数据表中,下面哪个可以作为有效的列名( A )(选择一项) A. class B. 123_NUM C. date D. #123_NUM 2. Oracle中的三种系统文件分别是( ABC )〔选择三项〕 A. 数据文件 DBF B. 控制文件 CTL C. 日志文件 LOG D. 归档文件 ARC 3.下面哪个命令可以用来查看学生表(表名student)的表结构( C )〔选择一项〕 A. Select student ; B. Display student ; C. Describe student ; D. Show student ;。 4.下面哪个命令不属于数据定义语言(DDL)( D )(选择一项) A. alter table… B、drop index… C、create view… D、update tablename… 5.在设计数据库时,要充分考虑数据的完整性或准确性。下面关于primary key和unique的描述错误的是()〔选择一项) A. primary key用来在表中设置主键,主键列的值是不能重复的,用来唯一标识表中的每一条记录 B. 设为unique的列的值是不能重复的,用来唯一区别unique列的值 C. primary key列不可以有null值, 而unique列是可以有null的 D. primary key列和unique列都不可以有null值 6.假定有一张表员工表employee,其中一性别字段sex,该列只能存入'男'或'女'。为了维护数据的完整性,在设计数据库时,最好对sex字段添加约束,请问应该添加什么约束( B )(选择一项) A. primary key B、check C、default D、unique 7.为表TEST中ID列添加主键约束的语法是( D )〔选择一项〕 A. ALTER TABLE TEST CHANGE( ID INT PRIMARY KEY) B. ALTER TABLE TEST ADD( ID INT PRIMARY KEY)

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分,共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数据库期末考试题目及答案

期末考试卷(卷) 课程名称:数据库考试方式:开卷()闭卷(√) 、本试卷共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认证考试试题

T

The safer , easier way to help you pass any IT exams. Exam : 1Z0-053 Title : Version : Demo Oracle Database 11g: Administration II

1.You are not sure if Flashback Database is enabled. What database column and view can you query to see if the flashback logs are being created in the flash recovery area? A. Query the initialization parameter FLASHBACK_DATABASE in VJINSTANCE. B. Query the FLASHBACK_ENABLED column in VJDATABASE. C. Query the FLASHBACK column in VJDATABASE.. D. Query the FLASHBACK_ON column in VJDATABAS E. Answer: D 2.What dynamic performance view can you query to list the supported platforms for transportable tablespaces? A. V$TRANSPORTABLE_PLATFORM B. V$TRANSPORTABLE_TABLESPACE C. V$SUPPORTED_PLATFORMS D. V$DATABASE PLATFORM Answer: A 3.You issue the following command to enable block change tracking: SQL> ALTER DATABASE ENABLE BLOCK CHANGE TRACKING; However, you receive an error message, and the tracking file is not created. What is a possible reason for the error message? A. The parameter DB_RECOVERY_FILE_DEST is not set. B. You must use ALTER SYSTEM instead. ) C. Your database must be in the MOUNT state to create the block change tracking file. D. The parameter DB_CREATE_FILE_DEST is not set. Answer: D 4.You are restoring and recovering a database to a new host. What data dictionary view will you use to identify the names of the datafiles on the new database? A. DBA_DATAFILE B. VJTABLESPACE C. VJDATAFILE D. V$DATAFILE_COPY E. VJBACKUP DATAFILE Answer: C 5.Your flash recovery area becomes full when you are running an RMAN backup (and has not yet reached the value specified by DB_RECOVERY_FILE_DEST). It is the destination for archived redo log files and backups. What will happen to the database? (Choose the best answer.) A. If you have the flash recovery area set to autoextend, the backup will continue with no problem. B. The database will hang until you add more space to the flash recovery area. C. RMAN will delete obsolete backups from the flash recovery area to accommodate new backups. D. The RMAN backup will hang until you add more space to the flash recovery area. Answer: C 6.You want to ensure the recoverability of the recovery catalog itself. Which of the following steps should

oracle习题练习

习题1安装和运行Oracle数据库 一、填空题 1.数据库管理系统采用的数据模型主要有:(网状模型)、(层次模型)和(关系模型)。 2.(交换方式)是指数据库使用者利用数据库管理系统提供的软件工具,直接对数据库进行操作,操作结果立即返回到操作界面。 3.(数据库)是存储在计算机内,按一定数据模型组织的、可共享的数据集合。 4.通常,把每一个类数据对象的个体称为(实体)。 5.对于每一个实体集,可指定一个码为(主码)。 6.Oracle是(面向对象的关系型)数据库管理系统。 7.Oracle系统主要是由(oracle database)和(oracle application)两大产品及Oracle管理程序包等其他产品组成的。 8.从Oracle DataBase 10g开始,通过设置初始化参数(SHAED_SERVERS)可以自动激活共享服务器特征。 9.(Oracle数据库10g企业版)是为关键任务的应用程序(如大业务的在线事务处理(OLTP)环境、查询密集的数据仓库和要求苛刻的因特网应用程序)提供了高效、可靠、安全的数据管理的Oracle DataBase 10g版本。 10.Oracle 10g提供了(Automatic Storage Management ),从而在不需要第三方面产品的情况下实现冗余性和数据分离。 二、选择题 1.两个实体集A和B之间的联系不可能是以下(D)种情况。 A.1:1 B.1 : n C.m : n D.以上答案都不对 2.绘制E-R图时,当一个属性或属性组合指定为主码时,在实体集与属性的连接线上标记( D)。 A.矩形框 B.带圆角矩形框 C.线段 D.斜线 3.绘制E-R图时,实体用(A )表示。 A.矩形框 B.带圆角矩形 C.线段 D.斜线 4.(C)语言是过程化SQL的缩写。

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复习题

一、选择题 1.在SQL*PLUS中执行语句:select count(empno) from scott.emp得到的查询结果是() A 雇员名 B 雇员号 C 雇员总数 D 以上全不对 2.如果想删除EMP表格中的所有数据,并且可以释放占有的数据表空间,将选用下面哪个命令() A delete from B update C alter table D truncate table 3.哪种函数可以把日期数据转换成字符数据() A to_char B to_number C to_date D to_str 4.下面不属于PL/SQL语句块组成部分的是() A 声明部分 B 执行部分 C 函数部分 D 异常处理部分 5.当fetch执行失败时,哪种游标的属性值为true() A %isopen B %found C %notfound D %rowcount 6.执行SARTUP MOUNT命令,即启动数据库至mount状态时,下列说法正确的是() A 数据库被打开 B 可对数据库中的表进行查询 C 只有与数据库相关的例程被加载 D 以上说法全不对 7.下面哪个后台进程可实现将修改过的数据缓冲区的数据写入相应的数据文件的功能() A ARCH B DBWR C PMON D CKPT 8.下面不属于Oracle数据库逻辑结构组成部分的是() A 表空间 B 数据文件 C 段 D 区 9.关于表空间与数据文件的关系,下列哪些描述正确的是() A 每个表空间至少含有一个数据文件 B 一个表空间属于一个数据文件 C 一个数据文件可以属于多个表空间 D 以上说法全不对 10.当数据库创建时,哪个表空间将会自动生成() A USER表空间 B TOOLS表空间 C TEMP表空间 D SYSTEM表空间 11.关于冷备份,下列说法不正确的是() A 冷备份必须是完全备份 B 冷备份适用于规模较小、业务量不大的数据库 C 冷备份能按用户恢复数据库 D冷备份必须是在数据库完全关闭的情况下进行 12.用于存放连接查询、索引、排序等操作所产生的临时数据的表空间是() A 系统表空间 B 临时表空间 C 回滚表空间 D 数据及索引表空间 13.对于角色的说法正确的是() A 角色为一系列系统权限的集合 B 角色一旦授予,不能回收 C 角色被授予后可以回收 D 使用with admin option授予的系统权限不可 回收 14.Oracle系统在重新启动数据库时自动应用了日志文件进行数据库的恢复,无需用户参与 的恢复是() A 介质恢复 B 实例崩溃恢复 C 异常突发灾难恢复 D 时间点恢复 15.对数据库并发操作有可能带来的问题包括( ) A 未被授权的用户非法存取数据 B 数据的冗余 C 读出“脏数据” D 破坏数据独立性

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、以下(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 10、使用( C )命令可以在已分区表的第一个分区之前添加新分区。 A.添加分区B.截断分区 C.拆分分区D.不能在第一个分区前添加分区 11、( C )分区允许用户明确地控制无序行到分区的映射。 A.散列B.范围C.列表D.复合 12、可以使用(C )伪列来访问序列。 A.CURRVAL和NEXTVAL B.NEXTVAL和PREVAL C.CACHE和NOCACHE D.MAXVALUE和MINVALUE 13、带有错误的视图可使用(A )选项来创建。 A.FORCE B.WITH CHECK OPTION C.CREATE VIEW WITH ERROR D.CREATE ERROR VIEW 14、在联接视图中,当(B )时,该基表被称为键保留表。

oracle 上机考试试题与答案

1、写一个pl/sql程序块:直接使用数据类型定义两个变量v_empno 和v_ename,从scott模式下的emp表中检索某个员工的编号empno 和姓名ename,存储到v_empno和v_ename,并输出此员工的编号和姓名。 set serveroutput on declare type merchandise is record( v_empno number(30), v_ename varchar2(30)); record_merchandise merchandise; begin select empno,ename into record_merchandise from emp where empno='7369';

dbms_output.put_line(record_merchandise.v_empno); dbms_output.put_line(record_merchandise.v_ename); end; 2、写一个pl/sql程序块:根据scott模式下的emp表中的部门编号deptno字段的值,为姓名为SCOTT的雇员修改工资;若他所在部门号为10,则工资加100;若部门号为20,则工资加300;否则工资加400。 set serveroutput on declare v_deptno emp.deptno%type; addsal emp.sal%type; sal number;

begin select deptno into v_deptno from emp where ename='SCOTT'; if v_deptno='10' then addsal:=100; elsif v_deptno='20' then addsal:=300; else addsal:=400; end if; update emp set sal=sal+addsal where ename='SCOTT'; dbms_output.put_line(sal); end; 3、写一个pl/sql程序块:定义一个游标类型type_cursor,然后使用type_cursor定义变量ref_cur;根据scott模式下的emp表和dept表,使用游标变量ref_cur检索员工姓名和工作信息,并输出员工姓名和工作信息;使用游标变量ref_cur检索部门编号和部门名称信息,并输出部门编号和部门名称信息。

Oracle复习题及答案3

测试五 一、选择题 1、对于Oracle数据库软件的应用,主要分为哪两大块(AB )。〖2个答案〗 A.开发 B.管理 C.安装 D.调试 2、以下哪项不是Oracle数据库物理组件的类型(D)。〖1个答案〗 A. 数据文件 B. 控制文件 C. 日志文件 D. 表空间 3、以下哪项不是Oracle数据库的逻辑组件的类型(D)。〖1个答案〗 A. 表空间 B. 段 C. 扩展区 D. 日志文件 4、关于数据控制语言中,收回所授予的权限的语句是(B)。〖1个答案〗 A. Create B. Revoke C. Grant D. Update 5、Oracle数据库中,取余数的运算符是(B)。〖1个答案〗 A. % B. mod C. / D. || 6、Oracle数据库中,连接字符串的运算符是( D)。〖1个答案〗 A. + B. & C. is D. || 7、Oracle数据库中返回字符串长度的函数是(D)。〖1个答案〗 A. Substr B. Replace C. InStr D. Length 8、Oracle数据库中按指定的精度进行四舍五入的函数是(C)。〖1个答案〗 A. Sign B. Trunc C. Round D. Mod 9、转换日期类型为字符串的转换函数是(C)。〖1个答案〗 A. to_date B. to_datetime C. to_char D. to_number 10、在数据库中,对象Index表示(D)。〖1个答案〗 A.同义词 B.表 C.包 D.索引 11、关于通配符中的“%”,以下说法正确的两项是(BD)。〖2个答案〗 A. 代表任意一个字符,与Like结合使用 B. 代表任意多个字符,与Like结合使用 C. 代表任意一个字符,在Like后的表达式中只能使用一次“%” D. 代表任意多个字符,在Like后的表达式中可以使用多次“%” 12、要统计某表中记录的总个数,以下哪项是正确的SQL语句(C)。〖1个答案〗 A. select Max(*) from 表名 B. select Sum(*) from 表名 C. select Count(*) from 表名 D. select Min(*) from 表名 13、要求表中数据的最大值,应使用什么函数(A)。〖1个答案〗 A. Max B. Min C. Sum D. Avg 14、下列正确查询姓张的学生的语句是(B)。〖1个答案〗 A. select * from 表名 where 姓名= ‘张’ B. select * from 表名 where 姓名like ‘张%’ C. select * from 表名 where 姓名= ‘%张%’ D. select * from 表名 where 姓名like ‘张’ 15、关于表的主键,说法正确的两项是(CD)。〖2个答案〗 A. 主键字段的值最多允许有一条记录为Null B. 主键字段的值可以重复 C. 主键字段的值不能为Null D. 主键字段的值不能重复

相关文档