動態

詳情 返回 返回

[20251028]SQLPlus的行編輯器.txt - 動態 詳情

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


user avatar Faith-zhang 頭像 yichenliu 頭像
點贊 2 用戶, 點贊了這篇動態!
點贊

Add a new 評論

Some HTML is okay.