首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> Oracle 資料庫 >> Oracle 資料庫基礎

SQL*Plus 內建緩衝區編輯指令大全:LIST、CHANGE、DEL、INPUT 實戰技巧

     編輯:Oracle 資料庫基礎

緩衝區編輯模型

SQL*Plus 維護一個「最近執行的 SQL 緩衝區」,每行附帶行號。最後一行標示 * 代表「當前行」。所有編輯指令針對此緩衝區操作,不影響資料庫物件。

核心指令速查表

指令縮寫功能範例
LIST [n]L [n]顯示緩衝區全部或第 n 行L 2
CHANGE /old/new/C /old/new/當前行字串取代C /SYSAUX/USERS/
DEL [n|m n|n *|n LAST]DEL刪除指定行DEL 2 3
INPUT [text]I [text]當前行之後插入新行I , file_name
APPEND textA text當前行尾端附加文字A WHERE rownum < 10

實戰範例演示

初始查詢

SQL> SELECT file_name
  2  FROM dba_data_files
  3  WHERE tablespace_name = 'SYSAUX';

FILE_NAME
------------------------------------------------------------
+DATAGRP/db/datafile/sysaux.257.686941969

檢視緩衝區

SQL> LIST
  1  SELECT file_name
  2* FROM dba_data_files WHERE tablespace_name = 'SYSAUX'

行 2 標示 * 為當前行。

修改第 1 行:將欄位從 file_name 改為 tablespace_name

SQL> 1
  1* SELECT file_name
SQL> CHANGE /file_name/tablespace_name/
  1* SELECT tablespace_name
SQL> LIST
  1  SELECT tablespace_name
  2* FROM dba_data_files WHERE tablespace_name = 'SYSAUX'

執行修改後查詢

SQL> /
TABLESPACE_NAME
------------------------------
SYSAUX

刪除指令範例

SQL> DEL           -- 刪除當前行(最後一行)
SQL> DEL 2         -- 刪除第 2 行
SQL> DEL 2 5       -- 刪除第 2、5 行(空格分隔)
SQL> DEL 3 LAST    -- 刪除第 3 行至最後一行

插入新行範例

SQL> LIST
  1  SELECT tablespace_name
  2* FROM dba_data_files WHERE tablespace_name = 'SYSAUX'
SQL> 1
  1* SELECT tablespace_name
SQL> INPUT , file_name
SQL> LIST
  1  SELECT tablespace_name
  2  , file_name
  3* FROM dba_data_files WHERE tablespace_name = 'SYSAUX'
SQL> /
TABLESPACE_NAME   FILE_NAME
----------------- --------------------------------------------
SYSAUX            +DATAGRP/db/datafile/sysaux.257.686941969

進階技巧

多行取代技巧

CHANGE 僅作用於當前行。需修改多行時:

SQL> L 1
  1* SELECT col1
SQL> C /col1/col_new/
SQL> L 2
  2* FROM table_old
SQL> C /table_old/table_new/

搭配 SAVE/GET 進行版本管理

SQL> SAVE query_v1.sql   -- 存檔
SQL> EDIT                -- 外部編輯器修改
SQL> GET query_v1.sql    -- 載入修改版
SQL> /                   -- 執行

緩衝區清空

SQL> CLEAR BUFFER

適用場景與限制

  • 適用:互動式查詢微調、臨時測試、簡單語法修正
  • 不適用:複雜 PL/SQL 區塊、超過數百行 SQL、需版控與協作的正式開發
  • 替代方案:DEFINE _EDITOR 使用外部編輯器、SQL Developer、VS Code

記憶口訣

L 看、C 改、D 刪、I 增、A 尾、/ 執、SAVE 存

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved