SQL*Plus 內建緩衝區編輯命令可大幅提升互動式查詢效率。本文透過實例示範 INPUT、L[n]、APPEND、CHANGE、DEL 等核心編輯指令操作技巧。
SELECT emp_id, emp_name
FROM employees;
SQL> INPUT WHERE emp_age > 30
-- 結果:
SELECT emp_id, emp_name
FROM employees
WHERE emp_age > 30
SQL> L1
-- 顯示第 1 行(標示 * 為當前行):
1* SELECT emp_id, emp_name
SQL> A , emp_dept
-- 結果:
1* SELECT emp_id, emp_name, emp_dept
SQL> C /emp_name/emp_age/
-- 結果:
1* SELECT emp_id, emp_age, emp_dept
SQL> DEL 3
-- 刪除第 3 行(WHERE 條件),結果:
SELECT emp_id, emp_age, emp_dept
FROM employees
| 命令 | 功能 | 範例 |
|---|---|---|
| LIST / L | 列出緩衝區全部內容 | |
| RUN / R | 執行緩衝區 SQL | |
| SAVE filename | 存檔緩衝區內容 | |
| GET filename | 載入檔案到緩衝區 | |
| EDIT | 啟動外部編輯器修改 | |
| CLEAR BUFFER | 清空緩衝區 |
SET LINESIZE 200 PAGESIZE 1000 改善顯示格式COLUMN col_name FORMAT A30 調整欄位寬度SPOOL output.log 記錄執行結果VARIABLE bind_var NUMBER 進行繫結變數測試CHANGE 分隔符可自訂(如 C/old/new/、C|old|new|)EDIT 或 SAVE/GET)