PL/SQL 在线测验



以下测验提供与PL/SQL相关的多项选择题 (MCQ)。您需要阅读所有给定的答案,然后点击正确的答案。如果您不确定答案,可以使用显示答案按钮查看答案。您可以使用下一组题按钮查看测验中的新题组。

Questions and Answers

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

C - WHERE 语句错误。它应该是:WHERE id := c_id;

D - 变量 c_id 应声明为类型兼容变量,如下所示:

c_id customers.id%type := 1;

答案: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

     5

     6

B - 4

     5

C - 4

D - 以上都不是。

答案:A

问题 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 - 2

B - 5

C - 0

D - 不会打印任何内容

答案:A

问题 6 - 以下哪一项不属于 PL/SQL 记录的类型?

A - 基于表的

B - 基于视图的

C - 基于游标的记录

D - 用户定义的记录

答案:B

问题 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 - 视图

B - 游标

C - 表

D - 索引

答案: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);

D - 以上都不是。

答案: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 …

B - 基本对象不应有任何成员属性或函数。

C - 基本对象 rectangle 应声明为 NOT FINAL。

D - 以上都不是

答案: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
plsql_questions_answers.htm
广告