SQL*Plus 是 Oracle 官方提供的命令行交互工具,分為 sqlplus.exe(控制台)與 sqlplusw.exe(圖形界面,已棄用)兩種形態。它是 DBA 和開發者最基礎、最通用的數據庫操作入口,功能涵蓋:
DUAL 是 Oracle 內建的單行單列視圖,常用於:
SELECT SYSDATE FROM DUAL;SELECT 21+15*3 FROM DUAL;SELECT SEQ.NEXTVAL FROM DUAL;注意:嚴禁對 DUAL 執行 DDL/DML 操作。
| 方式 | 命令範例 | 說明 |
|---|---|---|
| 無參數啟動 | sqlplus /nolog | 進入提示符後再 CONNECT |
| 直接連接 | sqlplus user/pass | 本地默認實例 |
| TNS 連接 | sqlplus user/pass@tns_alias | 遠程實例 |
| 啟動執行腳本 | sqlplus user/pass@tns @script.sql | 自動執行腳本並退出 |
SQL*Plus 保留最近一條 SQL/PLSQL 在緩存區,支持以下操作:
| 命令 | 縮寫 | 功能 |
|---|---|---|
| LIST [n] | L [n] | 顯示緩存區第 n 行(省略則全顯),並定位當前行 |
| CHANGE /old/new | C /old/new | 修改當前行字符串 |
| INPUT | I | 在當前行後插入新行,以 . 結束 |
| DEL [n] | 刪除當前行或指定行 | |
| EDIT | 調用系統編輯器(Notepad/vi)編輯緩存區 | |
| SAVE file [REP|APP] | 存緩存區到文件 | |
| GET file | 載入文件到緩存區 | |
| / | 執行緩存區命令 |
HELP COMMAND:查看命令語法,如 HELP CONNECTDESC[RIBE] object:查看表結構、視圖、函數/過程簽名,極其高頻所有命令均可用前 4 字母縮寫(如 DESC、COL、SPO)。
SPOOL file_name[.ext] [CRE[ATE]|REP[LACE]|APP[END]] -- 開啟輸出
SPOOL OFF -- 關閉並寫入磁盤
SPOOL OUT -- 關閉並發送到打印機(舊版)
主要用途:
SET HEADING OFF FEEDBACK OFF)| 命令 | 作用 | 推薦值 |
|---|---|---|
| SET LINESIZE 32767 | 防止長行截斷 | 32767 |
| SET PAGESIZE 0 | 取消分頁抬頭 | 0 |
| SET FEEDBACK OFF | 隱藏「已選擇 n 行」 | OFF |
| SET HEADING OFF | 隱藏列標題 | OFF |
| SET TRIMSPOOL ON | 去除行尾空格 | ON |
| SET TAB OFF | 禁用製表符對齊 | OFF |
| SET COLSEP ',' | CSV 列分隔 | ',' |
| SET NUMFORMAT 999999.99 | 數字顯示格式 | 視需求 |
@script.sql:當前目錄或 SQLPATH 下執行@@script.sql:相對調用腳本所在目錄執行(嵌套腳本必用)DEFINE var=value / UNDEFINE var:定義/釋放替換變量&var / &&var:單次/持久替換變量引用ACCEPT var PROMPT 'msg':交互式輸入變量