SET system_variable value
可用 SHOW 查看目前設定:SHOW ALL 或 SHOW PAGESIZE。
| 參數 (縮寫) | 完整名稱 | 預設值 | 說明 |
|---|---|---|---|
| ARRAY[SIZE] | ARRAYSIZE | 20 | 單次提取陣列大小 (影響效能) |
| AUTO[COMMIT] | AUTOCOMMIT | OFF | ON/IMMEDIATE:每句自動提交;OFF:需手動 COMMIT |
| BLO[CKTERMINATOR] | BLOCKTERMINATOR | . | PL/SQL 區塊結束字元 |
| CMDS[EP] | CMDSEP | OFF | 命令分隔字元 (; 或自訂) |
| COM[PATIBILITY] | COMPATIBILITY | NATIVE | 相容模式 (V5/V6/V7/NATIVE) |
| CON[CAT] | CONCAT | . | 替代變數串接字元 |
| COPYC[OMMIT] | COPYCOMMIT | 0 | COPY 命令每 N 批次提交 |
| DEF[INE] | DEFINE | ON | 開啟/關閉替代變數 (&) |
| ECHO | ECHO | OFF | 執行腳本時顯示命令 |
| EMBEDDED | EMBEDDED | OFF | 報表內嵌模式 |
| ESC[APE] | ESCAPE | \ | 跳脫字元 |
| FEED[BACK] | FEEDBACK | 6 | 顯示回饋筆數門檻 (OFF 關閉) |
| FLU[SH] | FLUSH | ON | 輸出緩衝區刷新 |
| HEA[DING] | HEADING | ON | 顯示欄位標題 |
| HEADS[EP] | HEADSEP | | | 標題分隔字元 |
| LIN[ESIZE] | LINESIZE | 80 | 每行顯示字元數 |
| LONG | LONG | 80 | LONG/LOB 欄位顯示長度 |
| LONGC[HUNKSIZE] | LONGCHUNKSIZE | 80 | LONG 分塊提取大小 |
| MAXD[ATA] | MAXDATA | - | 單行最大資料長度 |
| NEWP[AGE] | NEWPAGE | 1 | 分頁換頁行數 (0 為不分頁) |
| NULL | NULL | '' | NULL 顯示字串 |
| NUM[FORMAT] | NUMFORMAT | - | 數值預設格式 |
| NUM[WIDTH] | NUMWIDTH | 10 | 數值顯示寬度 |
| PAGES[IZE] | PAGESIZE | 14 | 每頁行數 |
| PAU[SE] | PAUSE | OFF | 每頁暫停 |
| RECSEP | RECSEP | WRAP | 記錄分隔 (WRAP/CHAR/OFF) |
| RECSEPCHAR | RECSEPCHAR | 空白 | 記錄分隔字元 |
| SERVEROUT[PUT] | SERVEROUTPUT | OFF | 啟用 DBMS_OUTPUT 輸出 (SIZE 可指定緩衝區) |
| SHIFT[INOUT] | SHIFTINOUT | OFF | 字元集轉換 |
| SHOW[MODE] | SHOWMODE | OFF | 顯示舊/新值 (SET 驗證) |
| SQLBL[ANKLINES] | SQLBLANKLINES | OFF | 允許 SQL 區塊內空白行 |
| SQLC[ASE] | SQLCASE | MIXED | SQL 關鍵字大小寫 (MIXED/LOWER/UPPER) |
| SQLCONTINUE | SQLCONTINUE | > | 續行提示字元 |
| SQLN[UMBER] | SQLNUMBER | OFF | 顯示 SQL 行號 |
| SQLPLUSCOMPATIBILITY | SQLPLUSCOMPATIBILITY | - | SQL*Plus 版本相容 |
| SQLPRE[FIX] | SQLPREFIX | SQL> | SQL 提示字元 |
| SQLPROMPT | SQLPROMPT | SQL> | 主提示字元 |
| SQLTERMINATOR | SQLTERMINATOR | ; | SQL 結束字元 |
| SUF[FIX] | SUFFIX | .sql | 腳本預設副檔名 |
| TAB | TAB | ON | 顯示製表字元 |
| TERM[OUT] | TERMOUT | ON | 輸出至終端機 |
| TIM[ING] | TIMING | OFF | 顯示命令執行時間 |
| TRIM[OUT] | TRIMOUT | OFF | 修剪輸出尾部空白 |
| TRIMS[POOL] | TRIMSPOOL | OFF | 修剪 SPOOL 輸出尾部空白 |
| UNDERLINE | UNDERLINE | - | 標題底線字元 |
| VER[IFY] | VERIFY | ON | 顯示替代變數新舊值 |
| WRA[P] | WRAP | ON | 長行換行顯示 |
-- 產生乾淨的 CSV 匯出
SET HEADING OFF FEEDBACK OFF ECHO OFF VERIFY OFF TRIMSPOOL ON LINESIZE 32767 PAGESIZE 0
SPOOL export.csv
SELECT col1 || ',' || col2 || ',' || col3 FROM my_table;
SPOOL OFF
-- 除錯 PL/SQL 輸出
SET SERVEROUTPUT ON SIZE 1000000 FORMAT WRAPPED
BEGIN
DBMS_OUTPUT.PUT_LINE('Debug: ' || var);
END;
/