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