在配置 Oracle OneMap 時,直接在 PL/SQL Developer 或圖形工具執行含 PROMPT 指令的 SQL 腳本,常遇到 ORA-00900: 無效 SQL 陳述式 及後續 ORA-00942: 資料表或視圖不存在 錯誤。本文說明根因與標準解決流程。
ORA-00900:PROMPT 是 SQL*Plus 客戶端指令,非標準 SQL,資料庫引擎無法識別。PROMPT、SET、SPOOL、@ 等屬於 SQL*Plus 專屬命令,僅在 SQL*Plus 環境(命令列或 `sqlplus` 互動模式)下有效。PL/SQL Developer、SQL Developer 等 GUI 工具的工作表不支援這些命令,直接送往資料庫解析導致 ORA-00900。
sqlplus username/password@tns_alias 或單純 sqlplus /nolog 再 CONN。@ 執行腳本檔案:SQL> @C:\path\to\your_script.sql
腳本內的 PROMPT 等指令即可正確由 SQL*Plus 解譯執行,後續 DDL/DML 亦順利在資料庫端執行。
執行完成後,查詢相關物件確認建立成功,OneMap 配置流程可續跑後續步驟。
sqlplus -s 靜默執行並記錄日誌。工具選擇決定成敗。遇到 ORA-00900 且腳本含 PROMPT/SET/@ 等指令時,第一反應應是「切換到 SQL*Plus 執行」,而非反覆嘗試權限調整。