SQL怎样插入重复项,不重复的跳过!

INSERTintoYTH.[dbo].[ACTI_COM]([FCASE_ID],[FCASE_COMM],[FLASTUSER],[FLASTTIME])select... INSERT into YTH.[dbo].[ACTI_COM]
([FCASE_ID]
,[FCASE_COMM]
,[FLASTUSER]
,[FLASTTIME])
select [FCASE_ID]
,[FCASE_COMM]
,[FLASTUSER]
,[FLASTTIME]
from PC.[dbo].[ACTI_COM]
执行结果如下:
消息 547,级别 16,状态 0,第 3 行
INSERT 语句与 FOREIGN KEY 约束"FK__ACTI_COM__FCASE___18D6A699"冲突。该冲突发生于数据库"YTH",表"dbo.CASE_", column 'FCASE_ID'。

因 PC.[dbo].[ACTI_COM]表里的[FCASE_ID]与 PC.[dbo].[CASE]表里的主键[FCASE_ID]多出好几十条数据!所以想插入到YTH.[dbo].[ACTI_COM]的表里的数据与YTH.[dbo].[CASE]表的主键约束起冲突了!

所以有没有办法在YTH.[dbo].[ACTI_COM]表里只插入与 PC.[dbo].[CASE]表里的[FCASE_ID]列名相同的数据!

也就是说当插入数据到 YTH.[dbo].[ACTI_COM]表的时候 IF [FCASE_ID] = PC.[dbo].[CASE]表里的[FCASE_ID] 或等于 YTH.[dbo].[CASE]表里的[FCASE_ID] 才执行插入!
或者有没有办法 直接删除 当PC.[dbo].[ACTI_COM] 表里的[FCASE_ID] 不等于PC.[dbo].[CASE]表里的[FCASE_ID] 的时候就删除!直接删除 不相同的[FCASE_ID]
展开
 我来答
在晴天的雨伞
2016-06-01 · TA获得超过6869个赞
知道大有可为答主
回答量:5761
采纳率:86%
帮助的人:1210万
展开全部
如果你确实要执行批量的插入语句,同时又必须判断插入的每条记录不能重复,那么就无法只用一个sql语句搞定的,你必须写一个循环来判断插入的记录是否重复
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2016-06-01
展开全部
insert into 表A select * from OPENDATASOURCE(
'SQLOLEDB','Data Source=192.168.0.1;User ID=sa;Password=sa'
).databasename.dbo.表B where id not in (select id from 表A)
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式