2008-10-16 37 views
0

我已成功地重命名錶並使用外鍵關係刪除該表上的所有約束,並構建它們全部備份。但是,現在我處於PK_tblFoo存在於多個位置(當我將該錶轉移到另一個數據庫時)的時候。重命名錶不會重命名主鍵。如何在表上重命名PK,MS SQL 2005

我該如何級聯重命名主鍵?我已將表格重新命名,我只需要弄清楚這一部分。

回答

1

我相信我會需要手動此,丟棄所有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。 ...這將需要一段時間。

0

您也可以使用重構工具,我知道Visual Studio Team Edition for Database Professionals可以處理這個問題。