在SQL Server中,我有两个数据库,每个数据库都有几百个表。两个数据库中的表是90%相同的,每个数据库中大约有20个不同的表。我正在一个存储过程中,用它在database1中共享的表中的数据更新database2。
我正在考虑截断这些表,然后将这些表中的记录插入另一个数据库中,例如:
truncate table database2.dbo.table2
select *
into database2.dbo.table2
from database1.dbo.table1
这是执行此操作的最佳方法,并且比编写几百条这样的语句有更好的方法吗?
答案 0 :(得分:1)
这可能会导致错误,因为该表已存在于数据库中(按照您的truncate命令)。给定查询将创建一个新表。
“选择* 进入database2.dbo.table2-创建新表 来自database1.dbo.table1“ 如果要使用相同的表结构和数据,则应为模式和数据生成脚本,然后在另一个数据库(DB2)上运行该脚本