MERGE dbo.Weiboinfo AS Target
USING (SELECT * FROM dbo.hj2) AS Source
ON (Target.mid = Source.mid)
WHEN NOT MATCHED BY TARGET THEN
INSERT (
Target.id,
Target.text,
Target.create_at,
Target.mid,
Target.source,
Target.CommentsCount,
Target.RepostsCount,
Target.Klass,
Target.originText
) VALUES (
Source.product_id, Source.product_type_id, Source.name,
Source.description, Source.price
);
对应了微软官方的语法模式,但是语法解析总是错误,用的是SQL2005
USING (SELECT * FROM dbo.hj2) AS Source
ON (Target.mid = Source.mid)
WHEN NOT MATCHED BY TARGET THEN
INSERT (
Target.id,
Target.text,
Target.create_at,
Target.mid,
Target.source,
Target.CommentsCount,
Target.RepostsCount,
Target.Klass,
Target.originText
) VALUES (
Source.product_id, Source.product_type_id, Source.name,
Source.description, Source.price
);
对应了微软官方的语法模式,但是语法解析总是错误,用的是SQL2005
USING (SELECT * FROM dbo.hj2) AS Source --此处(SELECT * FROM dbo.hj2)直接换成dbo.hj2
ON (Target.mid = Source.mid)
WHEN NOT MATCHED BY TARGET --此处可省略BY TARGET
THEN INSERT
(Target.id,Target.text,Target.create_at,Target.mid,Target.source, Target.CommentsCount,Target.RepostsCount,Target.Klass,Target.originText )
VALUES ( Source.product_id, Source.product_type_id, Source.name, Source.description, Source.price ); 另外merge是2008出来的很好用的功能哦。2005不支持的
INSERT ( Target.id, Target.text, Target.create_at, Target.mid, Target.source, Target.CommentsCount, Target.RepostsCount, Target.Klass, Target.originText ) --9个VALUES ( Source.product_id, Source.product_type_id, Source.name, Source.description, Source.price --5个
insert into 目标表
select xxxxx
from 来源表 a
where not exists (select 1 from 目标表 b where a.主键=b.主键)