генерировать SQL-скрипт для данных и уникальных имен FK - PullRequest
1 голос
/ 06 марта 2012

У меня много БД со структурой идентичности, и мне нужно иметь данные инициализации для каждой из них. Я создал скрипт для добавления данных инициализации, и этот скрипт имеет следующие строки:

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

но каждая моя БД имеет разные названия противопоказаний. Могу ли я создавать БД с одинаковыми названиями ограничений? Я пытался создать БД по сценарию, по сравнению схемы Visual Studio 2010 и т. Д.

Я использую MS SQL 2008

1 Ответ

0 голосов
/ 06 марта 2012

Вы можете сами назвать ограничение при его создании - тогда у вас должно быть одинаковое имя ограничения для всех ваших баз данных. Поскольку вы ничего не упомянули о схеме, я не могу дать вам точного ответа - но синтаксис для обозначения вашего 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]
...