login.sql 是 SQL*Plus 啟動時自動執行的腳本,常用於設定環境變數、格式化輸出、定義常用變數等。在 Windows 上正確放置該檔案,能讓每次登入自動套用個人化設定。
SQL*Plus 會依序搜尋下列路徑,找到第一個 login.sql 即執行:
%USERPROFILE%(登入使用者的家目錄)%ORACLE_HOME%\sqlplus\admin(系統級,需管理員權限)以 Windows 7/10/11 為例,典型路徑為:
C:\Users\<YourUserName>\login.sql
-- 設定分頁大小、行寬、日期格式 SET PAGESIZE 100 SET LINESIZE 200 SET LONG 1000000 ALTER SESSION SET NLS_DATE_FORMAT = 'YYYY-MM-DD HH24:MI:SS'; -- 定義常用變數 DEFINE _EDITOR = notepad++ COLUMN sql_text FORMAT A100 WRAP -- 顯示歡迎訊息 PROMPT Welcome to SQL*Plus, &_USER.@&_CONNECT_IDENTIFIER
login.sql 放入 %USERPROFILE%。sqlplus /nolog 或直接 sqlplus user/pass@db。SHOW PAGESIZE 確認設定生效。login.sql(非 login.sql.txt),編碼為 ANSI/UTF-8 無 BOM。ORACLE_HOME 下需管理員權限寫入,建議優先使用使用者目錄。ORACLE_HOME 設定,使用者目錄的 login.sql 會被所有版本共用。glogin.sql($ORACLE_HOME/sqlplus/admin/glogin.sql)實現站點級預設設定。WHENEVER SQLERROR EXIT SQL.SQLCODE 讓腳本錯誤時自動返回錯誤碼,便於 CI/CD 整合。