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] 展开
([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] 展开
2个回答
展开全部
如果你确实要执行批量的插入语句,同时又必须判断插入的每条记录不能重复,那么就无法只用一个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)
'SQLOLEDB','Data Source=192.168.0.1;User ID=sa;Password=sa'
).databasename.dbo.表B where id not in (select id from 表A)
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询