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