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

SQL*Plus SET 命令完整參考:會話環境配置速查表

     編輯:Oracle 資料庫基礎

SQL*Plus 會話行為由 SET 命令控制,涵蓋輸出格式、回饋、分頁、緩衝區等數十項參數。本文整理最常用的 11 類設定,附語法、預設值、實戰範例與 SHOW ALL 輸出解讀。

核心 SET 參數速查表

命令語法預設值說明與範例
ARRAYSIZESET ARRAY[SIZE] {15|n}15單次 Fetch 筆數(1~5000)。長欄位查詢宜調小減少記憶體。
AUTOCOMMITSET AUTO[COMMIT] {OFF|ON|IMM|n}OFFON/IMM:每句自動提交;n:每 n 句提交;OFF:手動 COMMIT。
LINESIZESET LIN[ESIZE] {80|n}80輸出行寬(字元數),最大 32767。寬表查詢建議 SET LINESIZE 2000。
LONGSET LONG {80|n}80LONG/CLOB 欄位顯示字元數(1~2G)。SET LONG 10000 避免截斷。
PAGESIZESET PAGES[IZE] {14|n}14每頁列數(含標題)。SET PAGESIZE 0 關閉分頁(適合腳本輸出)。
PAUSESET PAUSE {ON|OFF}OFFON 時每頁結束暫停,需按 Enter 繼續。SET PAUSE ON 除錯用。
SPACESET SPA[CE] {1|n}1欄位間空格數(0~10)。通常保持預設。
TERMOUTSET TERMOUT {ON|OFF}ONOFF 關閉螢幕輸出(搭配 SPOOL 輸出檔案加速)。
ECHOSET ECHO {ON|OFF}OFFON 顯示執行的命令(@腳本時)。受 TERMOUT 影響。
TRANSACTIONSET TRANSACTION {READ ONLY|USE ROLLBACK SEGMENT seg}-READ ONLY 保證讀一致性;指定大 Rollback Segment 供大量 DML。
TRIMSPOOLSET TRIMSPOOL {ON|OFF}OFFON 移除 SPOOL 輸出每行尾部空白,檔案更緊湊。

實戰組合範例:匯出乾淨 CSV

SET HEADING OFF
SET FEEDBACK OFF
SET ECHO OFF
SET PAGESIZE 0
SET LINESIZE 32767
SET TRIMSPOOL ON
SET COLSEP ','
SPOOL export.csv
SELECT * FROM employees;
SPOOL OFF

SHOW ALL 完整輸出解讀

輸入 SHOW ALL 可列出所有參數目前值。關鍵參數快速檢查:

SQL> SHOW ALL
...
linesize 80
long 80
pagesize 14
pause OFF
termout ON
echo OFF
...

最佳實務建議

  • 登入腳本 login.sql(或 glogin.sql)預設設定常用參數(LINESIZE 2000, PAGESIZE 1000, LONG 100000 等)。
  • 互動式查詢用 SET PAUSE ON 逐頁檢視;自動化腳本用 SET PAGESIZE 0 FEEDBACK OFF HEADING OFF。
  • TERMOUT OFF + SPOOL 導出大量資料時顯著提升速度(省去終端渲染)。
  • AUTOCOMMIT ON 僅適合測試環境,生產環境務必手動控制交易。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved