- PL/SQL 教程
- PL/SQL - 首页
- PL/SQL - 概述
- PL/SQL - 环境
- PL/SQL - 基本语法
- PL/SQL - 数据类型
- PL/SQL - 变量
- PL/SQL - 常量和字面量
- PL/SQL - 运算符
- PL/SQL - 条件语句
- PL/SQL - 循环语句
- PL/SQL - 字符串
- PL/SQL - 数组
- PL/SQL - 过程
- PL/SQL - 函数
- PL/SQL - 游标
- PL/SQL - 记录
- PL/SQL - 异常处理
- PL/SQL - 触发器
- PL/SQL - 包
- PL/SQL - 集合
- PL/SQL - 事务
- PL/SQL - 日期和时间
- PL/SQL - DBMS 输出
- PL/SQL - 面向对象
- PL/SQL 有用资源
- PL/SQL - 问答
- PL/SQL - 快速指南
- PL/SQL - 有用资源
- PL/SQL - 讨论
PL/SQL 模拟测试
本节提供与PL/SQL相关的各种模拟测试集。您可以将这些示例模拟测试下载到本地计算机,并在方便时离线解答。每个模拟测试都附带一个答案,以便您验证最终分数并进行自我评分。
PL/SQL 模拟测试一
题1 - 以下哪一项关于 PL/SQL 语言的说法不正确?
答案:C
题2 - 以下哪一项关于 PL/SQL 语言的说法不正确?
A - PL/SQL 的通用语法基于 ADA 和 Pascal 编程语言。
答案:D
题5 - 以下哪一项关于 PL/SQL 块的执行部分的说法正确?
答案:D
题7 - 以下哪一项关于 PL/SQL 块的异常处理部分的说法不正确?
答案:B
题10 - 以下哪一项关于 PL/SQL 中数据类型的描述正确?
A - 大型对象或 LOB 数据类型是指向大型对象的指针,这些大型对象与其他数据项(如文本、图形图像、视频剪辑和声音波形)分开存储。
答案:D
题12 - 以下哪一项关于 PL/SQL 中字符数据类型及其子类型的描述正确?
A - LONG 是一个变长字符字符串,最大大小为 32,760 字节。
B - ROWID 是一个物理列标识符,是普通表中列的地址。
答案:A
题15 - 考虑以下代码:
DECLARE -- Global variables num number := 95; BEGIN dbms_output.put_line('num: ' || num1); DECLARE -- Local variables num number := 195; BEGIN dbms_output.put_line('num: ' || num1); END; END;
执行代码时会发生什么?
答案:B
题16 - 以下代码有什么问题?
DECLARE c_id := 1; c_name customers.name%type; c_addr customers.address%type; BEGIN SELECT name, address INTO c_name, c_addr FROM customers WHERE id = c_id; END;
A - 您不能使用 SQL 的 SELECT INTO 语句来为 PL/SQL 变量赋值。
B - 此处的 SELECT INTO 语句错误。它应该是:SELECT c_name, c_address INTO name, addr
答案:D
题18 - 以下代码段的输出是什么?
DECLARE a number (2) := 21; b number (2) := 10; BEGIN IF ( a <= b ) THEN dbms_output.put_line(a); END IF; IF ( b >= a ) THEN dbms_output.put_line(a); END IF; IF ( a <> b ) THEN dbms_output.put_line(b); END IF; END;
答案:C
题19 - 执行以下代码时将打印什么?
DECLARE x NUMBER; BEGIN x := 5; x := 10; dbms_output.put_line(-x); dbms_output.put_line(+x); x := -10; dbms_output.put_line(-x); dbms_output.put_line(+x); END;
答案:A
题20 - 要获取服务器输出结果并将其显示在屏幕上,您需要编写:
答案:A
题21 - 以下哪一项关于 PL/SQL 决策结构的描述不正确?
A - IF 语句将条件与 THEN 和 END IF 关键字括起来的语句序列相关联。
B - IF 语句还添加了 ELSE 关键字,后跟一个备用语句序列。
答案:D
题22 - 以下代码段的描述正确的是:
DECLARE a number(3) := 100; BEGIN IF (a = 50 ) THEN dbms_output.put_line('Value of a is 10' ); ELSEIF ( a = 75 ) THEN dbms_output.put_line('Value of a is 20' ); ELSE dbms_output.put_line('None of the values is matching'); END IF; dbms_output.put_line('Exact value of a is: '|| a ); END;
答案:A
解释
ELSIF 语句写成 ELSEIF 是错误的
题23 - 以下代码段的描述正确的是:
DECLARE a number(3) := 100; BEGIN IF (a = 50 ) THEN dbms_output.put_line('Value of a is 10' ); ELSIF ( a = 75 ) dbms_output.put_line('Value of a is 20' ); ELSE dbms_output.put_line('None of the values is matching'); END IF; dbms_output.put_line('Exact value of a is: '|| a ); END;
答案:A
解释
ELSIF 语句缺少 THEN 关键字
题24 - 以下 PL/SQL CASE 语句语法的描述正确的是:
CASE selector WHEN 'value1' THEN S1; WHEN 'value2' THEN S2; WHEN 'value3' THEN S3; ... ELSE Sn; -- default case END CASE;
答案:B
题25 - 以下代码的输出是什么?
DECLARE grade char(1) := 'B'; BEGIN case when grade = 'A' then dbms_output.put_line('Excellent'); when grade = 'B' then dbms_output.put_line('Very good'); when grade = 'C' then dbms_output.put_line('Well done'); when grade = 'D' then dbms_output.put_line('You passed'); when grade = 'F' then dbms_output.put_line('Better try again'); else dbms_output.put_line('No such grade'); end case; END;
答案:C
答案表
题号 | 答案 |
---|---|
1 | C |
2 | D |
3 | D |
4 | B |
5 | D |
6 | A |
7 | B |
8 | D |
9 | A |
10 | D |
11 | D |
12 | A |
13 | B |
14 | C |
15 | B |
16 | D |
17 | B |
18 | C |
19 | A |
20 | A |
21 | D |
22 | A |
23 | A |
24 | B |
25 | C |