我已成功地重命名錶並使用外鍵關係刪除該表上的所有約束,並構建它們全部備份。但是,現在我處於PK_tblFoo存在於多個位置(當我將該錶轉移到另一個數據庫時)的時候。重命名錶不會重命名主鍵。如何在表上重命名PK,MS SQL 2005
我該如何級聯重命名主鍵?我已將表格重新命名,我只需要弄清楚這一部分。
我已成功地重命名錶並使用外鍵關係刪除該表上的所有約束,並構建它們全部備份。但是,現在我處於PK_tblFoo存在於多個位置(當我將該錶轉移到另一個數據庫時)的時候。重命名錶不會重命名主鍵。如何在表上重命名PK,MS SQL 2005
我該如何級聯重命名主鍵?我已將表格重新命名,我只需要弄清楚這一部分。
我相信我會需要手動此,丟棄所有FK約束,運行這個傢伙:
IF EXISTS (SELECT *
FROM sys.indexes
WHERE object_id = OBJECT_ID(N'[dbo].[tblFoo]')
AND name = N'PK_tblBusinessListings')
ALTER TABLE [dbo].[tblFoo] DROP CONSTRAINT [PK_tblBusinessListings]
GO
ALTER TABLE [dbo].[tblFoo]
ADD CONSTRAINT [PK_tblFoo_1] PRIMARY KEY CLUSTERED ([ListingID] ASC)
WITH (PAD_INDEX = OFF, SORT_IN_TEMPDB = OFF, IGNORE_DUP_KEY = OFF,
ONLINE = OFF) ON [PRIMARY]
然後再通過併成立了所有的FK約束與新的PK名字.... errrgh。 ...這將需要一段時間。
您也可以使用重構工具,我知道Visual Studio Team Edition for Database Professionals可以處理這個問題。