在 Oracle 資料庫系統中,外鍵是維護參照完整性的核心機制。參照完整性確保分佈在父表與子表之間的欄位滿足主從約束關係。父表作為約束基準,子表則在資料異動時依據父表資料驗證合法性。然而,實務開發中若外鍵命名不規範(如採用系統自動生成的 SYS_* 名稱),將嚴重影響後續維護效率。當發生外鍵錯誤時,若無法快速定位涉及的表與欄位,將耗費大量排查時間。
建議採用 FK_子表名_父表名 格式,長度限制在 30 字元內。表名可適度縮寫,但必須清晰反映約束雙方。此命名慣例能讓錯誤訊息直接揭示問題表關係,大幅縮短除錯週期。
先查詢當前 Schema 下所有外鍵狀況,包含名稱、父/子表名、參考欄位等。腳本輸出建議 SPOOL 至檔案備存。注意:外鍵量大時執行時間較長,請預留足夠時間窗口。
針對以 SYS% 開頭的系統自動命名外鍵,生成 ALTER TABLE ... DROP CONSTRAINT 刪除腳本,並輸出至檔案。
依據步驟一報告,生成對應的 ALTER TABLE ... ADD CONSTRAINT ... FOREIGN KEY (...) REFERENCES ... 建立腳本。此時將外鍵名稱替換為規範命名格式,例如:FK_DJ_NSRXX_DM_GY_SWRY。
操作前務必完整備份應用系統。 先執行步驟二刪除腳本,再執行步驟三建立腳本,即完成外鍵更名。此過程涉及物件刪除與重建,請安排在系統閒置時段執行。
重新執行步驟一腳本產生報告,與更名前報告比對。若外鍵名稱皆符合規範、父子表關係正確,即表示更名成功。