0

我已经成功地重命名了一个表,并通过外键关系删除了该表上的所有约束,并将它们全部备份。但是,现在我正处于 PK_tblFoo 存在多个位置的地步(当我将表转移到另一个数据库时)。重命名表不会重命名主键。

我将如何级联重命名主键?我已经重命名了表格,我只需要弄清楚这部分。

4

2 回答 2

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]

然后通过新的 PK 名称设置所有 FK 约束....errrgh....这需要一段时间。

于 2008-10-16T13:59:11.297 回答
0

您也可以使用重构工具,我知道 Visual Studio Team Edition for Database Professionals 可以处理这个问题。

于 2008-10-22T14:53:17.877 回答