用新的唯一IDS在SQL中合并两个表

时间:2018-07-11 09:37:52

标签: sql sql-server

我正在两个表之间创建一个联合,每个表具有相同的唯一主键(模块ID)。我想从“模块ID”列中创建一个新的唯一主键,因为它当前包含重复项。

如何使联合之后的模块ID从第一个模块ID的最大值开始向上计数?简而言之,如何在联合之后使模块ID唯一?

set identity_insert dpm.Module on

insert into dpm.Module
(
        dpm.Module.[Module ID],
        dpm.Module.[Module Xbrl Schema Ref]
)

select 
        dpm.Module.[Module ID],
        dpm.Module.[Module Xbrl Schema Ref]
from [DPM].[Module]
union
select
        dpm.Module.[Module ID],
        replace(dpm.Module.[Module Xbrl Schema Ref],'.xsd','_bbk.xsd') as [Module Xbrl Schema Ref]
from
[DPM].[Module]

0 个答案:

没有答案