- 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 |