ORACLE数据库试题 74
姓名: 戴希引
一、选择题(总分50分,每题1分,*为多选)42
1. 下列不属于ORACLE的逻辑结构的是(C)
A 区 B 段 C 数据文件 D表空间 2. 下面哪个用户不是ORACLE缺省安装后就存在的用户( A )
A . SYSDBA B. SYSTEM C. SCOTT D. SYS 3 下面哪个操作会导致用户连接到ORACLE数据库,但不能创建表(A )
A 授予了CONNECT的角色,但没有授予RESOURCE的角色 B没有授予用户系统管理员的角色 C数据库实例没有启动 D数据库监听没有启动 4. 在Oracle中,当FETCH语句从游标获得数据时,下面叙述正确的是( C )
A 游标打开 B游标关闭 C当前记录的数据加载到变量中 D创建变量保存当前记录的数据 5. 在Oracle中,下面关于函数描述正确的是( A D) *
A SYSDATE函数返回Oracle服务器的日期和时间
B ROUND数字函数按四舍五入原则返回指定十进制数最靠近的整数 C ADD_MONTHS日期函数返回指定两个月份天数的和 D SUBSTR函数从字符串指定的位置返回指定长度的子串
6. 阅读下面的PL/SQL程序块:
BEGIN INSERT INTO
employee(salary,last_name,first_name)VALUES(35000,’Wang’,'Fred’); SAVEPOINT save_a; INSERT INTO employee(salary,last_name,first_name) VALUES(40000,’Woo’,'David’);
SAVEPOINT save_b; DELETE FROM employee WHERE dept_no=10; SAVEPOINT save_c; INSERT INTO employee(salary,last_name,first_name)
VALUES(25000,’Lee’,'Bert’);
ROLLBACK TO SAVEPOINT save_c;
INSERT INTO employee(salary,last_name,first_name)
VALUES(32000,’Chung’,'Mike’); ROLLBACK TO SAVEPOINT save_b; COMMIT; END;
运行上面的程序,哪两个更改永久保存到数据库( CD )。 *
A DELETE FROM employee WHERE dept_no=10; B INSERT INTO
employee(salary,last_name,first_name)VALUES(32000,’Chung’,'Mike
’); C INSERT INTO employee(salary,last_name,first_name)
VALUES(35000,’Wang’,'Fred’); D INSERT INTO employee(salary,last_name,first_name) VALUES(40000,’Woo’,'David’);
7. 在Oracle中,表VENDOR包含以下列:
VENDOR_ID NUMBER Primary Key NAME VARCHAR2(30) LOCATION_ID NUMBER ORDER_DT DATE
ORDER_AMOUNT NUMBER(8,2)
下面对表VENDOR运用分组函数的子句合法的是( C)。 A FROM MAX(order_dt) B SELECT SUM(order_dt) C SELECT SUM(order_amount) D WHERE MAX(order_dt) = order_d
8. 在Oracle中,表EMP包含以下列: NAME VARCHAR2(20) ADDR VARCHAR2(60)
要以NAME’s address is ADDR格式返回数据,以下SQL语句正确的是( B )。
A SELECT NAME + ’’’s address is ‘ + ADDR FROM EMP; B SELECT NAME || ’’’s address is ‘ || ADDR FROM EMP; C SELECT NAME + ’\\’s address is ‘ + ADDR FROM EMP; D SELECT NAME || ’\\’s address is ‘ || ADDR FROM EMP; 9. 在Oracle中,以下不属于集合操作符的是( B )。 A UNION B SUM C MINUS D INTERSECT
10. 在Oracle中,关于锁,下列描述不正确的是( D )。
A 锁用于在用户之间控制对数据的并发访问 B 可以将锁归类为行级锁和表级锁 C insert、update、delete语句自动获得行级锁 D 同一时间只能有一个用户锁定一个特定的表
11. 在Oracle中,序列venseq使用下面的语句创建:
CREATE SEQUENCE venseq INCREMENT BY 1 START WITH 10 MAXVALUE 100 MINVALUE 10 CYCLE CACHE 5; 下面对序列venseq修改的语句,错误的是( A )。 A ALTER SEQUENCE venseq START WITH 1; B ALTER SEQUENCE venseq MAXVALUE 90; C ALTER SEQUENCE venseq NOMINVALUE; D ALTER SEQUENCE venseq NOCACHE;
12.在Oracle中,使用以下语句创建视图:
CREATE OR REPLACE VIEW pen_view AS SELECT * FROM order_master WHERE ostatus = ‘p’ WITH CHECK OPTION CONSTRAINT penv; 当用户试图执行以下语句: UPDATE pen_view SET ostatus = ‘d’ WHERE
ostatus=’p’;下列描述正确的是( B )。 A Oracle将ostatus修改为d,不提示任何错误 B Oracle不执行更新操作,并返回错误信息 C Oracle将ostatus修改为d,同时返回错误信息 D Oracle不执行更新操作,也不提示任何错误
13. 在Oracle中,在以下情形建立位图索引可以获得较好的性能( C )。
A 在列值唯一的列上建立 B 在列值相差很小的列上建立 C 在列值频繁重复的列上建立 D 在用于保存位图的列上建立 14. 在Oracle中,通过命令( D )可以释放锁。
A INSERT B DELETE C ROLLBACK D UNLOCK 15. 在Oracle中,关于PL/SQL下列描述正确的是( C )。
A PL/SQL代表Power Language/SQL B PL/SQL不支持面向对象编程 C PL/SQL块包括声明部分、可执行部分和异常处理部分 D PL/SQL提供的四种内置数据类型是character,integer,float,boolean 16. 在Oracle中,阅读下列PL/SQL块:
DECLARE v_lower NUMBER:=2; v_upper NUMBER:=100;
v_count NUMBER:=1; BEGIN I = 2; I <= 2; i++
FOR i IN v_lower..v_lower LOOP INSERT INTO test(results) VALUES (v_count); v_count := v_count +1; ENDLOOP; END;
请问FOR LOOP循环体执行了( A )次。 A 1 B 98 C 100 D 235
17. 在Oracle中,关于子程序的描述不正确的是( C )。子程序就是存储过程
和函数. A 子程序是已命名的PL/SQL块,可带参数并可在需要时随时调用 B 子程序可以具有声明部分、可执行部分和异常处理部分 C 子程序参数的模式只有IN和OUT两种模式 D 子程序可分为过程和函数两种类型
18. 在Oracle中,关于触发器的描述正确的是(D )。 A 触发器可以删除,但不能禁用 B 触发器只能用于表 C 触发器可以分为行级和语句级两种 D 触发器是一个对关联表发出insert、update、delete或select ? for update语句时触发的存储过程
19. 在Oracle中,你需要创建索引提高薪水审查的性能,该审查要对员工薪水提高12个百分点后进行分析处理,下面哪个create index命令能解决此问题
( A )。 A CREATE INDEX my_idx_1 ON employee(salary*1.12);
B CREATE UNIQUE INDEX my_idx_1 ON employee(salary); C CREATE BITMAP INDEX my_idx_1 ON employee(salary); D CREATE INDEX my_idx_1 ON employee(salary) REVERSE;
20. 在Oracle中,执行下面的语句:
SELECT ceil(-97.342),floor(-97.342), round(-97.342),trunc(-97.342)
FROM dual; 哪个函数的返回值不等于-97( B )。 A ceil() B floor() C round(0) D trunc()
21. 在Oracle中,用以下SQL命令创建了一个序列:
CREATE SEQUENCE my_seq START WITH 394 INCREMENT BY 12
NOMINVALUE NOMAXVALUE NOCYCLE NOCACHE; 用户执行包含my_seq.NEXTVAL的SQL语句三次,然后执行包含
my_seq.CURRVAL的SQL语句四次,请问序列my_seq的当前值是( B )。 A 406 B 418 C 430 D 442 E 242 22. 在Oracle中,下列哪种标量类型不能保存到数据库表中( B )。
A CHAR B RAW C DATE D BOOLEAN 23. 在Oracle中,不属于游标属性的是( C )。
A %NOTFOUND B %FOUND C %ISCLOSE D %ISOPEN
24. 在Oracle中,在SQL提示符下调用PL/SQL过程的方法是( ABC )。*
A 使用CALL语句 B 使用EXECUTE语句 C 使用RUN语句 D 直接使用过程名
25. 在Oracle中,用下列语句定义了一个过程:
CREATE OR REPLACE PROCEDURE test(a IN VARCHAR2,b IN OUT NUMBER, c OUT VARCHAR2) IS BEGIN
?? END;/ 假定使用的变量都已定义,下面对过程test的调用语法正确的是( C)。
A test(‘String1’,50,v_str2) B test(v_str1,v_num1,’String2’) C test(‘String1’,v_num1,v_str2) D test(v_str1,20,v_str2)
26. 在Oracle中,关于程序包的描述不正确的是(B )。 A 程序包是一种数据库对象,它是对相关PL/SQL类型、子程序、游标、异常、变量和常量的封装 B 程序包中私有对象是通过PRIVATE关键字来标识的 程序包体可以包括没
有在程序包规范中列出的对象,这些是私有对象,程序包的用户不能使用 C PL/SQL允许两个或多个打包的子程序具有同一名称,只要子程序接受的参数数据类型不同 D 程序包具有模块化、信息隐藏、新增功能及性能更佳等优点 27.在Oracle中,用户( A)拥有所有内置的程序包。
A SYS B SYSTEM C PUBLIC D DEFAULT 28.在Oracle中,通过命令( C D)可以释放锁。 * A INSERT B DELETE C ROLLBACK D COMMIT
29.在Oracle中,事务中使用下列SQL语句不会引起锁定( A)。 A SELECT B INSERT C UPDATE D DELETE 30. 在Windows操作系统中,Oracle的( A )服务器监听并接受来自客户端应用程序的连接请求。
A OracleHOME_NAMETNSListener B OracleServiceSID C OracleHOME_NAMEAgent D OracleHOME_NAMEHTTPServer
31 .在Oracle中,有一个名为seq的序列对象,以下语句能返回序列值但不会
引起序列值增加的是(C )。
A select seq.ROWNUM from dual; B select seq.ROWIDfrom dual; C select seq.CURRVALfrom dual; D select seq.NEXTVALfrom dual;