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