[20251028]SQLPlus的行編輯器.txt - 动态 详情
--//學習SQLPlus的行編輯器.看了一個網上的教學視頻,對方使用SQLPlus的行編輯器,估計許多人基本不會,感覺有時候利用它效率還
--//是很高的,查一些資料做一個記錄。
--//基本就5個命令:LIST / CHANGE / APPEND / DEL /INPUT。
1、行級編輯 5 件套(純 SQL*Plus 內部)
1. L[IST]` -- 列出緩存區,帶行號
2. L n 或 n -- 把第 n 行設為"當前行",提示符變成 n*
3. C[hange] /舊/新 -- 只改當前行裏第一次出現的"舊"串
4. A[ppend] 文本 -- 在當前行尾部直接追加,**不用引號**
5. DEL n m -- 刪除 n 到 m 行;缺省刪當前行
6. I[nput] 或 I 文本 -- 在當前行之後插入新行;單獨 INPUT 進入多行插入模式,空行退出
--//網上抄的例子:
2、一個完整示範:
SQL> SELECT empno, ename
2 FORM emp
3 WHERE deptno = 10;
ORA-00923: FROM keyword not found
--// 1. 先看看緩存區
SQL> L
1 SELECT empno, ename
2 FORM emp
3* WHERE deptno = 10
--// 2. 第 2 行寫錯了,改它
SQL> 2 -- 把第 2 行設成當前行
2* FORM emp
SQL> C /FORM/FROM
2* FROM emp
--// 3. 還想在後面加 ORDER BY
SQL> A ORDER BY empno
2* FROM emp ORDER BY empno
--// 4. 再插入一行空行然後繼續寫
SQL> I
3 AND sal > 1000
4
SQL> L
1 SELECT empno, ename
2 FROM emp ORDER BY empno
3 WHERE deptno = 10
4* AND sal > 1000
--// 5. 順序亂了,乾脆刪掉第 3、4 行,重新寫
SQL> DEL 3 4
SQL> I
3 WHERE deptno = 10
4 AND sal > 1000
5 ORDER BY empno
6
SQL> /
--//自己做一些補充:
--//在行尾加入一些內容。
9999 xxxxxx
--//直接修改第5行。
--//5 XXXXX
3、結論:
--// SQLPlus內部只有行級編輯,不能算是好用,看老外許多傢伙還是使用比較熟練。
--//簡單一點還是定義自己喜歡的編輯器。
> define _editor
DEFINE _EDITOR = "vi -c 'set notitle'" (CHAR)