首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

在调度中如何处理主键重复

2012-01-20 
在调度中如何避免主键重复?有一个调度每三分钟从源库取新数据加入到目标库,问题是前一个过程可能还在运行

在调度中如何避免主键重复?
有一个调度每三分钟从源库取新数据加入到目标库,问题是前一个过程可能还在运行中,三分钟后,再次开始运行这个过程会导致主键重复的错误,如何解决?不能用延长时间的办法,因为一定要更新及时。

[解决办法]
先判斷後插入
[解决办法]
insert A库.dbo.A表
select * from A库.dbo.B表
where not exists(select 1 from A库.dbo.A表 where id=A库.dbo.B表.id)--id为主键
[解决办法]
用形如
insert tablename(....)
select ... from srtablename
where ...
and not exists (
select 1 from tablename
where tablename.主键=srtablename.主键
)

的语句



[解决办法]
为什么不用复制?
[解决办法]
not in速度上可能会慢一些 :)

热点排行
Bad Request.