Oracle题库 - 71道 联系客服

发布时间 : 星期二 文章Oracle题库 - 71道更新完毕开始阅读25940566783e0912a2162aba

A. SELECT CALC_PLAYER_AVG(PLAYER_ID)

FROM PLAYER_BAT_STAT;

B. EXECUTE CALC_PLAYER_AVG(31); C. CALC_PLAYER(‘RUTH’); D. CALC_PLAYER_AVG(31);

35. (ORACLE考试题) 考察下面的触发器:

CREATE OR REPLACE TRIGGER Emp_count AFTER DELETE ON Emp_tab FOR EACH ROW DECLARE N INTEGER; BEGIN

SELECT COUNT(*) INTO n

FROM Emp tab;

DBMS_OUT.PUT_LINE('there are now'||n|| 'employees'); END;

该触发器当执行了以下的SQL语句后出错:

Delete from emp_tab where empno is equal to 7499;

下列选项哪个能修正该错误:(选择1项) A. 将触发器类型改为before delete的

B. 因为触发器中不允许count,所以将count函数去掉 C. 去掉DBMS_OUTPUT语句,因为触发器中不允许 D. 去掉行级触发器的行级限制

36. (ORACLE考试题) 检查此包的定义:

CREATE OR REPLACE PACKAGE COMPILE_THIS IS

G_VALUE VARCHAR2(100); PROCEDURE A; PROCEDURE B;

END COMPILE_THIS;

/

CREATE OR REPLACE PACKAGE BODY COMPILE_THIS IS

PROCEDURE A IS

BEGIN

G_VALUE := (‘HELLO WORLD’); END A;

PROCEDURE B IS

BEGIN

C;

DBMS_OUTPUT. PUT_LINE (‘PROCEDURE B CALLING C’); END B;

PROCEDURE C IS BEGIN

B;

DBMS_OUTPUT. PUT_LINE (‘PROCEDURE C CALLING B’); END;

END COMILE_THIS; /

在编译包时,以下叙述哪项是正确的:(选择1项) A. 输出Procedure B calling C B. 输出Procedure C calling B

C. 出现编译错误,因为C需要前项声明

D. 出现编译错误,因为B需要前项声明

37. (ORACLE考试题) 存储过程定义如下:

CREATE OR REPLACE PROCEDURE DELETE_PLAYER (V_ID IN NUMBER) IS BEGIN

DELETE FROM PLAYER WHERE V_ID=31;

EXCEPTION

WHEN STATS_EXIST_EXCEPTION

THEN DBMS_OUTPUT.PUT_LINE

('can't delete this player, child records exist in PLAYER_BAT_STAT table');

END;

为什么该过程编译出错?(选择1项)

A. 在STATA_EXIST_EXCEPTION后没有打逗号

B. STATS_EXIST_EXCEPTION没有声明为NUMBER类型 C. STATS_EXIST_EXCEPTION没有声明为exception类型 D. 在EXCEPTION区只允许使用预定义异常

38. (ORACLE考试题) 下列哪些叙述是正确的:(选择2项) A. 函数必须有返回值

B. 过程必须有返回值

C. 函数作为PL/SQL语句执行 D. 函数作为表达式的一部分执行

39. (ORACLE考试题) 以下的哪些语句中允许调用自定义函数:(选择1项)

A. NEXTVAL

B. SELECT命令中的HAVING子句 C. ALTER TABLE命令

D. SELECT命令或UPDATE命令中的FROM子句

40. (ORACLE考试题) 下列关于可变数组和嵌套表的陈述中,哪些是正确的?(选择2项) A. 可变数组和嵌套表均可以被索引

B. 可变数组不能超过在创建该数组时所定义的界限,而嵌套表则没有这样的限制 C. 在往嵌套表中基于查询插入数据时,需要用到关键字 CAST 和 MULTISET D. 可变数组的长度可动态调整

41. 表(TEACHER)包含以下列: ID NUMBER(7) PK SALARY NUMBER(7,2) SUBJECT_ID NUMBER(7) 判断以下两个SQL语句:

(1)SELECT ROUND(SUM(salary),-2) FROM teacher ;

(2)SELECT subject_id, ROUND(SUM(salary),-2) FROM teacher GROUP BY subject_id ;

有什么不同结果? (选择1项)

A. 语句1将返回每个老师一个结果 B. 语句2将返回多个结果 C. 结果相同,显示不同 D. 将有一个句子产生错误

42. 哪一个权限允许你删除其他用户的序列对象? (选择1项) A. DROP SEQUENCE B. DELETE SEQUENCE C. DROP ANY SEQUENCE D. DELETE ANY SEQUENCE

43. 哪个命令属于隐含提交命令? (选择1项) A. CREATE B. UPDATE C. COMMIT D. SELECT

44. 你认为下面句子将完成什么任务? (选择1项)

CREATE PUBLIC SYNONYM parts FOR marilyn.inventory; A. 一个新对象被创建。 B. 一个新对象权限被赋予。 C. 一个新系统权限被赋予。 D. 一个对象的同义词被创建。

45. 你试图用下面句子查询数据:(选择1项) SELECT 100/NVL(quantity, 0) FROM inventory; 为何QUANTITY为 null 空值时,将导致出错? A. 表达式企图被空值除.

B. 转换函数参数数据类型不一致. C. 空值不能被转成实际值 D. 表达式企图被零除.

46. 哪条 SELECT 语句可得到单价大于5.00的记录条数? (选择1项) A. SELECT SUM(*) FROM inventory WHERE price > 5.00; B. SELECT COUNT(*) FROM inventory ORDER BY price;

B. SELECT COUNT(*) FROM inventory WHERE price > 5.00; D. SELECT SUM(*) FROM inventory GROUP BY price > 5.00;

47. 关于 PL/SQL 块的执行部分下列说法正确的是?(选择1项) A. PL/SQL 表达式可以包含分组函数. B. PL/SQL表达式不可以包含SQL函数. C. 在SQL 语句中部分分组函数可用. D. 以上都不对

48. 判断 SQL 语句:

SELECT * FROM USER_TABLES; 将得到什么结果? (选择1项) A. 你所拥有的所有表的信息 B. 你能查询的所有表的信息 C. 数据库的所有表的信息 D. 数据字典的所有表的信息

49. 查找与用户指定雇员ID的部门、薪金相同的所有雇员的姓名、部门、薪金,以下那条语句可以实现?(选择1项) A.

SELECT name, department_id, salary FROM employee WHERE (department_id, salary) IN (SELECT department_id, salary FROM employee WHERE employee_id = &1) AND bonus IS NULL;

B. SELECT name, department_id, salary FROM employee WHERE (department_id,

salary, bonus) = (SELECT department_id, salary, bonus FROM employee

WHERE employee_id = &1) AND bonus = NULL;

C. SELECT name, department_id, salary FROM employee WHERE (department_id, salary) = (SELECT department_id, salary FROM employee WHERE employee_id = &1) AND bonus IS NULL;

D. SELECT name, department_id, salary FROM employee WHERE (SELECT