與SQL Server 2008玩周圍,我有一個表People
的列:SQL Server - 如果在其他表中存在更改列?
Name | City | Born | ...
和另一個表Change
的列:
OldName | NewName
現在我想在表People
事情來改變Name
像這樣:如果表Change
中的OldName
與Name
中的People
相同,則將Name
更改爲People
到NewName
Change
。
任何簡單的方法?
哦,另一個問題:如果在People
的Name
將是主鍵(或讓說Name
和City
將複合鍵),那會是更難改名字? THX
如果'Name'是主鍵的一部分,它默認是集羣鍵(物理排序的鍵)的一部分。更改該值將導致表結構發生更改,這將要求重建該表上的所有非聚集索引.... **不是**一個好主意!那麼引用該主鍵的所有子表又如何呢?你如何更新這些?主鍵一旦定義,最好保持不變。 – 2012-08-08 05:11:45
因此,如果Person是主鍵,那麼無法解決這個問題? – miri 2012-08-08 07:28:11
有辦法解決它 - 但沒有一個是非常簡單和容易做.....我會盡力避免這個不惜一切代價 – 2012-08-08 07:43:48