将数据从一个数据库复制到另一个SQL代码

时间:2011-04-13 04:07:43

标签: sql database reload

我正在寻求帮助; 情况是我有2个数据库,它们的结构应该相同,只是NEW prod dbs有ident列,PK和fk约束定义。我必须在一个'TempDB'中合并4个稍微不同的dbs,然后将数据复制到'NewProddb'中。

我已经管理了一个脚本lto关闭FK检查,并打开FK检查,所以插入需要看起来像这样;

[禁用所有FK约束的脚本(nocheck)]

SET IDENTITY_INSERT [NewProdDB].[dbo].[Event] ON; 
INSERT INTO [dbo].[Event] 
(EventID, Name, StartDate, EndDate, PartnerRegStartDate, PartnerRegEndDate, HouseholdRegStartDate, HouseholdRegEndDate, ChannelId, HasTeam, MaxteamMembers) 

(Select 
EventID, Name, StartDate, EndDate, PartnerRegStartDate, PartnerRegEndDate, HouseholdRegStartDate, HouseholdRegEndDate, ChannelId, HasTeam, MaxteamMembers
From TempDB.dbo.Event);

SET IDENTITY_INSERT [NewProdDb].dbo.[Event] OFF; 

[启用所有FK约束的脚本(检查)]

我想要做的是一次编写脚本,而不是分别为所有表编写脚本。要复制所有列中的ALl数据。

我希望这很清楚。

先谢谢。

1 个答案:

答案 0 :(得分:0)

我将尝试回答Oracle db,您可以在MSSQL中找到等价物。

有系统表存储表格和表格。列信息。所以你的脚本可以执行以下操作

  1. 传递源架构&目标架构
  2. 装载表&相应的列,ALL_TABLES&源模式的ALL_TAB_COLUMNS。循环结果&生成插入脚本。你可以把它写到sql文件&然后执行。
相关问题