SQL*Plus 內建 Command Line Editor,可編輯「最近一次執行的 SQL 陳述式」(不包含 SQL*Plus 本身指令如 DESC、SET)。
| 指令 | 縮寫 | 功能 | 範例 |
|---|---|---|---|
LIST | L | 列出緩衝區完整 SQL,星號 (*) 標示目前行 | L |
LIST n | L n | 列出第 n 行並設為目前行 | L 3 |
CHANGE /old/new | C /old/new | 將目前行的 old 替換為 new,分隔符可自訂 | C /SCOTT/TIGER/ |
APPEND text | A text | 在目前行末尾附加文字 | A WHERE DEPTNO=10 |
DEL | DEL | 刪除目前行 | |
DEL n | DEL n | 刪除第 n 行 | DEL 2 |
DEL n m | 刪除第 n 到 m 行 | DEL 2 4 | |
INPUT | I | 在目前行之後插入新行(輸入完按 Enter 兩次結束) | I |
RUN | R 或 / | 執行緩衝區 SQL | / |
SAVE filename | 將緩衝區存檔 | SAVE myquery.sql | |
GET filename | 載入檔案到緩衝區 | GET myquery.sql | |
CLEAR BUFFER | CL BUFF | 清空緩衝區 |
SQL> SELECT
2 111
3 FROM
4 DUAL
5 /
111
----------
111
SQL> LIST
1 SELECT
2 111
3 FROM
4* DUAL
SQL> L 2
2* 111
SQL> C /111/123
2* 123
SQL> L
1 SELECT
2 123
3 FROM
4* DUAL
SQL> A 456
2* 123456
SQL> L
1 SELECT
2 123456
3 FROM
4* DUAL
SQL> /
123456
----------
123456
L n 定位每行,配合 C/A 逐行修改。EDIT 指令啟動 NOTEPAD(或 _EDITOR 環境變數指定編輯器)編輯緩衝區內容,存檔後自動載回。SET LINESIZE 200 避免輸出換行。Oracle 8i/9i/10g/11g/12c/19c/21c 所有版本的 SQL*Plus 均支援上述指令。