如何在没有源数据库的情况下执行INSERT查询时避免重复的SQL数据

时间:2018-10-12 11:38:02

标签: sql sql-server

我通过从客户端的多个不同来源(多个app文件(SQL CE数据库))通过SQL Server查询将数据插入SQL Server数据库中,从而获得了2个批量数据。但是,我要查询的是带有多个.sdf文件的1000多个记录。

当我执行第二个SQL查询脚本文件(例如,数据第二个.sdf文件)时,出现重复数据错误。

在执行数据时如何保护数据免受重复记录的影响。我无法通过复制粘贴将多个表的记录超过1000条来手动修改诸如.sdfjoin之类的查询。

样本数据:

select

谢谢

ST

2 个答案:

答案 0 :(得分:1)

仅在表上不存在时执行INSERT

IF not exists(select * from [Patients] where [PatienGuid] = '9192596b-8fbb-4f6f-8412-0082fa2af40d')
    INSERT INTO [Patients] ([PatienGuid],[FirstName],[LastName],[PatientID],[DateOfBirth],[Gender],[Comment],[HighLimit],[LowLimit],[HighLimitNova],[LowLimitNova],[Disabled],[PhysicianGuid],[CF1],[CF2],[CF3],[CF4],[CF5],[ShowLimits],[ShowLimitsNova]) 
        VALUES ('9192596b-8fbb-4f6f-8412-0082fa2af40d',N'Sonia Isabel',N'Pereira Nunes Santos',N'174269',{ts '1976-01-25 00:00:00.000'},1,NULL,NULL,NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);

答案 1 :(得分:0)

您可以使用我的SQL Server Compact批量复制库SqlCeBulkCopy,它具有忽略重复的主键错误的选项。可在NuGet.org上