生成数据和唯一FK名称的SQL脚本

时间:2012-03-06 16:40:40

标签: sql-server-2008 foreign-keys unique-constraint

我有很多带有身份结构的数据库,需要为每个数据库提供init数据。我创建了添加init数据的脚本,这个脚本有以下字符串:

ALTER TABLE [dbo].[aspnet_Profile] DROP CONSTRAINT [FK__aspnet_Pr__UserI__68487DD7]

但每个我的DB都有不同的约束名称。我可以创建具有相同名称约束的DB吗?我试图通过脚本,通过Visual Studio 2010等的模式比较来创建数据库

我使用MS SQL 2008

1 个答案:

答案 0 :(得分:0)

您可以在创建约束时自己命名约束 - 然后您应该在所有数据库上使用相同的约束名称。由于您没有提及有关架构的任何内容,因此我无法给出确切的答案 - 但是在创建FK时命名FK的语法是这样的:

ALTER TABLE [dbo].[aspnet_Profile]
ADD CONSTRAINT [FK_MyFKNameHere] FOREIGN KEY (UserID)
    REFERENCES [dbo].[OtherTable](UserID)

然后将它放在所有数据库上是相同的脚本:

ALTER TABLE [dbo].[aspnet_Profile] DROP CONSTRAINT [FK_MyFKNameHere]