- 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相关的多项选择题 (MCQ)。您需要阅读所有给定的答案,然后点击正确的答案。如果您不确定答案,可以使用显示答案按钮查看答案。您可以使用下一组题按钮查看测验中的新题组。
问题 1 - 关于 PL/SQL 中的数据类型,以下哪一项是正确的?
A - 大对象或 LOB 数据类型是指向存储在与其他数据项(如文本、图形图像、视频剪辑和声音波形)分开的的大对象的指针。
答案:D
问题 2 - 以下代码中的错误是什么?
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
问题 3 - 以下代码的输出是什么?
DECLARE x number := 4; BEGIN LOOP dbms_output.put_line(x); x := x + 1; exit WHEN x > 5; END LOOP; dbms_output.put_line(x); END;
答案:A
问题 4 - 关于 PL/SQL 数据结构 VARRAY,以下哪一项是正确的?
B - VARRAY 类型是在模式级别使用 CREATE VARRAY 语句创建的。
答案:C
问题 5 - 以下 PL/SQL 块将打印什么?
DECLARE a number; b number; c number; PROCEDURE findMin(x IN number, y IN number, z OUT number) IS BEGIN IF x < y THEN z:= x; ELSE z:= y; END IF; END; BEGIN a:= 2; b:= 5; findMin(a, b, c); dbms_output.put_line(c); END;
答案:A
问题 7 - 请观察下面给出的语法:
CREATE [OR REPLACE ] TRIGGER trigger_name {BEFORE | AFTER | INSTEAD OF } {INSERT [OR] | UPDATE [OR] | DELETE} [OF col_name] ON table_name [REFERENCING OLD AS o NEW AS n] [FOR EACH ROW] WHEN (condition) DECLARE Declaration-statements BEGIN Executable-statements EXCEPTION Exception-handling-statements END;
INSTEAD OF 子句用于在以下哪个对象上创建触发器?
答案:A
问题 9 - 以下哪个代码是创建名为 salary 的索引表以存储整数和名称的正确语法,并且名称字段将作为键?
A - TYPE salary IS TABLE OF NUMBER INDEX BY VARCHAR2(20);
B - CREATE TABLE salary OF NUMBER INDEX BY VARCHAR2(20);
C - TYPE salary IS INDEXED TABLE OF NUMBER INDEX BY VARCHAR2(20);
答案:A
问题 10 - 以下代码尝试创建一个名为 rectangle 的基本对象,该对象将被继承。代码中有什么错误?
CREATE OR REPLACE TYPE rectangle AS OBJECT (length number, width number, member function enlarge( inc number) return rectangle, NOT FINAL member procedure display)
A - 声明应写成 CREATE OR REPLACE OBJECT rectangle AS …
答案:C
解释
更正后的代码为:
CREATE OR REPLACE TYPE rectangle AS OBJECT (length number, width number, member function enlarge( inc number) return rectangle, NOT FINAL member procedure display) NOT FINAL