我正在更新最初設計不佳的表。該表目前有一個主鍵是供應商的名稱。這可以作爲許多其他表格的外鍵。這導致了供應商名稱初始輸入錯誤或需要修復的拼寫錯誤。由於這是關係的外鍵,所以這比它的價值更復雜。在Oracle中更改主鍵
當前架構: VENDOR_NAME(PK)Vendor_contact評論
需要的模式: ID(PK)VENDOR_NAME Vendor_contact評論
我想要更新的主鍵是自動生成的,數字鍵。供應商名稱字段需要保留,但不再是關鍵。我還需要更新其他表和聯接表上外鍵的值。
最好的辦法是在我的供應商表上創建一個新的數字標識列,crosswalk將供應商名稱標識爲id並添加一個新的外鍵,並將新的id作爲外鍵,放棄供應商的外鍵這些表上的名稱(根據this post),然後以某種方式將該ID標記爲主鍵,並取消標記供應商名稱?
還是有更簡化的方式做到這一點,這是不是很破碎?
重要的是要注意,只有5個用戶可以訪問這個表格,所以我可以在這些更新完成的一段時間內輕鬆關閉它們 - 這不是問題。
我正在使用SQLDeveloper和Python/Django。
哪個版本的數據庫? – APC
我們最近升級到12C。 – rockman