您好,欢迎来到华佗小知识。
搜索
您的当前位置:首页Oracle测试试题-13

Oracle测试试题-13

来源:华佗小知识
Oracle测试试题

(时间:120分钟 总分:100分)

一、选择题(2*20=40分)

1、下面哪一个不是数据库屋物理存储结构中的对象( )

A. 数据文件 B. 联机重做日志文件 C. 控制文件 D. 表空间

2、在Oracle服务器启动时,下面哪种文件不是必须的( )。

A)数据文件 (B)控制文件 C)日志文件 D)归档日志文件

3、你要在Oracle中定义SQL查询。下列哪个数据库对象不能直接从select语句中引用?

A.表    B.序列    C.索引    D.视图

4、已知TEST表包含两个列

TESTCOL定义为数据类型NUMBER(10)

TESTCOL_2定义为数据类型VARCHAR2(10)

在Oracle中发出下列语句:insert into test(testcol, testcol_2) values (null, ‘FRANCIS’)

然后对表进行下列查询:select nvl(testcol, ‘EMPTY’) as testcol from test where testcol_2 = ‘FRANCIS’。

下列选项哪个是得到的结果?

A.Oracle返回结果0                 B.Oracle返回结果EMPTY

C.Oracle返回结果NULL     D.Oracle返回错误结果

5SQL语言中用来创建、删除及修改数据库对象的部分被称为:(

(A). 数据库控制语言(DCL) (B) 数据库定义语言(DDL)

(C) 数据库操纵语言(DML) (D) 数据库事务处理语言

6、以下语句的哪条当comm为为空时显示0,不为空时显示comm的值:(

(A). select ename,nvl(comm,0) from emp (B) select ename,null(comm,0) from emp

(C) select ename,nullif(comm,0) from emp (D)select ename ,decode(comm,null,0) from emp

7、已知ORDERS表有CUSTOMER(客户姓名)、ORDER_DATE(订单日期)与ORDER_AMT(订单金额)三个字段。以下哪个where子句可以查询客户LESLIE订单金额超过2700的订单?

A.where customer = ‘LESLIE’;

B.where customer = ‘LESLIE’ and order_amt < 2700;

C.where customer = ‘LESLIE’ or order_amt > 2700;

D.where customer = ‘LESLIE’ and order_amt > 2700;

8、不属于游标的属性是:(

(A) %notfound (B) %found (C) %rowtype (D) %rowcount

9、有如下SQL语句select ceil(256.342), floor(256.342), round(256.342), trunc(256.342)  from dual;

   下列哪个函数返回结果不是256?

A.ceil()         B.floor()           C.round()          D.trunc()

10、以下关于SQL的说法正确的是_ ___

A、SQL是一种过程化的语言,可实现各种流程控制

B、SQLOracle所独有数据库操作语言

C、SQL是一种数据库的驱动程序

D、SQL是一种非过程化的语言,也是数据库的工业标准

11、Create、Drop、Alter等命令属于下列哪类命令_ ___

ADCL BDDL CDML DDQL

12、下列关于表和视图的说法正确的是___ ___

A、每个视图对应一个表

B、视图是表的一个镜像备份

C、对所有视图也可像表一样执行Update操作

D、视图的数据全部在表中

13、有如下SQL语句:

select ename from emp  where empno in

   ( select empno  from expense where vouch_amt > 10000 );

下列exists语句中哪个SQL语句产生结果与上述SQL结果一样?

A.select e.ename from emp e where exists(select x.empno from expense x where x.vouch_amt>10000) and x.empno = e.empno;

B.select e.ename from emp e where exists(select x.empno from expense x where x.vouch_amt>10000 and x.empno = e.empno);

C.select e.ename from emp e where x.empno = e.empno and exists(select x.empno from expense x where x.vouch_amt>10000)

D.select e.ename from emp e, expense x where x.empno = e.empno and x.vouch_amt>10000 and  exists(select x.empno from expense x where)

14、在Oracle数据库的逻辑结构中有以下组件:

A 表空间 , B 数据块, C 区, D 段;这些在oracle中从大到小依次是___

A、A -> B -> C -> D

B、A -> D -> C -> B

C、A -> C -> B -> D

D、D -> A -> C -> B

15、下面关于Oracle游标使用的语法,错误的是_____ _____

A、fetch 游标名 on 变量名1 , 变量名2 B、cursor 游标名 is select 语句

C、open 游标名 D、close 游标名

16、在Oracle中,如果想在控制台进行输出,可以通过以下哪个程序包中提供的函数实现()

A、DBMS_OUTPUT

B、DBMS_SYTEMOUT

C、DBMS_SQL

D、DBMS_TYPES

17、有一段PL/SQL程序如下示、

Var1 :=10;

LOOP

EXIT WHEN var1>12;

Var1:=var+1;

DBMS_OUTPUT.PUT_LINE(‘A’);

END LOOP;

输出为().选择一项

AA BAA CA AA DAAAA

18、Oracle数据库中,通过()访问能够以最快的方式访问表中的一行。(选择一项)

A、主键 B、Rowid C、唯一索引 D、整表扫描

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

A. select seq.ROWNUM form dual; B. select seq.ROWID form dual;

C. select seq.CURRVAL form dual; D. select seq.NEXTVAL form dual;

20、以下对外链接语句描述正确的是?

A.由于外连接操作允许一个表中有NULL值,因此连接这些表时不必指定相等性比较。

B.在表A与B的外连接语句中,如果不管B表有无相应记录,都要显示表A的所有行,则可以使用右外连接。

C.在表A与B的外连接语句中,如果不管A表有无相应记录,都要显示表B的所有行,则可以使用左外连接。

D.尽管外连接操作允许一个表中有NULL值,但连接这些表时仍要指定相等性比较。

二、多选题(3*5=15)

1、在Oracle中,PL/SQL块中定义了一个带参数的游标

CURSOR emp_cursor(dnum NUMBER) IS

SELECT sal, comm FROM emp WHERE deptno = dnum;

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

AOPEN emp_cursor(20);

BOPEN emp_cursor FOR 20;

COPEN emp_cursor USING 20;

DFOR emp_rec IN emp_cursor(20) LOOP … END LOOP;

2ORACLE数据库在启动的时候,必须启动以下哪两个服务(

AOracleOraDb11g_home1TNSListener

BOracleMTSRecoveryService

COracleServiceORCL

DOracleJobSchedulerORCL

3、在Oracle中,不属于游标属性的是()

A%NOTFOUND B%FOUND C%ISCLOSE DROWTYPE

4 一个VIEW被以下语句创建,请问在该视图上可以执行操作?

  CREATE VIEW USA_STATES

  AS SELECT e.ename d.dname FROM emp e,dept d WHERE e.dno= d.dno;

  A. SELECT B. UPDATE  C. DROP VIEW D. INSERT

5、在Oracle中,下面关于函数描述正确的是( )。

A、SYSDATE函数返回Oracle服务器的日期和时间

B、ROUND数字函数按四舍五入原则返回指定十进制数最靠近的整数

C、ADD_MONTHS日期函数返回指定两个月份天数的和

D、SUBSTR函数从字符串指定的位置返回指定长度的子串

三、编程题(请按要求写出正确的SQL语句45分)

已知有数据库表结构及相关数据如下:

销售订单表:orders

字段名类型名称
FOrderIDVarchar(8)订单号
ForderDatedate订单日期
FNumberVarchar(80)订单编号
FStateVarchar(2)申请状态
销售订单分录表:OrderEntry

字段名类型名称
FIDVarchar(8)订单分录ID
FOrderIDVarchar(8)订单号
FMaterialIDVarchar(8)物料ID
FQtyInt订单数量
FPriceInt物料单价
物料表:Material

字段名类型名称
FMaterialIDVarchar(8)物料ID
FMaterialNameVarchar(200)物料名称
1、统计销售订单日期为2009年8月份各物料的销售金额,金额=数量*单价(10

输出字段: 物料名称 , 销售金额

2、查询售出订单日期为2009年8月份的各订单的销售明细,并按订单日期降序排列(8分)

输出字段:订单编号,订单日期,物料名称,数量,单价,金额

3、为了让问题1性能达到优化,请在OrderEntry表的FOrderID、FMaterialID创建一个索引以优化查询速度。(7分)

4、使用exists语句,查询出没有销售记录的物料信息。(8分)

输出字段:物料ID 物料名称

5、创建一个带参数的存储过程,通过输入物料id,查询出该物料的销售记录并显示到控制台 12

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- huatuo0.cn 版权所有 湘ICP备2023017654号-2

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务