【发布时间】:2009-09-10 03:28:27
【问题描述】:
我正在尝试将多个 SQL Server 数据库合并为一个。问题是其中一张表有一个身份字段作为主键。该表还有两个 uniqueid 字段。比如:
datatable:
id pk identity
link1 uniqueid
link2 uniqueid
我最初的想法是运行以下脚本:
declare @maxId as int
set @maxId = ( SELECT IsNull(MAX(id),0) FROM datatable)
SET IDENTITY_INSERT datatable ON
INSERT INTO database1.datatable id, link1, link2 SELECT id + @maxId, link1, link2 FROM database2.datatable
SET IDENTITY_INSERT datatable OFF
这可行,除了查询运行多次数据被复制。 确保我的表中不存在 link1 和 link2 的组合的最佳方法是什么?
如果只有一列我可以使用 IN 语句,但不幸的是我需要两列来匹配。
【问题讨论】:
标签: sql sql-server database