SQL数据库迁移:匹配新数据库中不存在的现有列-创建新列

时间:2020-10-02 09:41:06

标签: sql sql-server database migration

我有一张信息表,该信息表与我要从当前数据库到新数据库的地址有关。我想匹配Line1,Line2和Postcode上的地址,如果不匹配,我希望在要迁移到的数据库中创建一个新地址。

到目前为止,我有一个过渡数据库,我从初始数据库中导入了所有数据,然后我必须编写一个SQL脚本才能运行,然后再导入到新数据库中。

到目前为止,我有:

Use Staging_DB
GO

IF EXISTS (SELECT 1 FROM sys.tables WHERE name = 'Address'
DROP TABLE Address

CREATE TABLE Address(
AddressLine1 varchar(60),
AddressLine2 varchar(60),

....等等

任何帮助都会受到重视

1 个答案:

答案 0 :(得分:0)

如果我的理解正确,您想在现有表中插入新地址-但只添加不存在的地址。

如果是这样:

insert into address (line1, line2, postcode)
    select line1, line2, postcode
    from staging s
    where not exists (select 1
                      from address a
                      where a.line1 = s.line1 and a.line2 = s.line2 and a.postcode = s.line2
                     );