如果数据已存在,则不执行SQL插入

如果数据已存在,则不执行SQL插入,sql,insert,sql-update,Sql,Insert,Sql Update,我正在使用上述代码更新或插入记录。它在第一次插入记录时工作正常。更新工作完美。但下一个插入批处理不起作用。您可以使用“合并”或尝试使用以下代码: IF (EXISTS (SELECT documentsRepo.DocumentRouteNumber FROM documentsRepo INNER JOIN dreDocuments ON documentsRepo.DocumentRouteNumber = dreDocuments.DocumentRouteNumber))

我正在使用上述代码更新或插入记录。它在第一次插入记录时工作正常。更新工作完美。但下一个插入批处理不起作用。

您可以使用“合并”或尝试使用以下代码:

IF (EXISTS
  (SELECT documentsRepo.DocumentRouteNumber
   FROM documentsRepo
   INNER JOIN dreDocuments ON documentsRepo.DocumentRouteNumber = dreDocuments.DocumentRouteNumber))
UPDATE DocumentsRepo
SET documentsRepo.documentTypeID = dreDocuments.DocumentTypeID,
documentsRepo.DepartmentID = dreDocuments.DepartmentID
FROM documentsRepo
INNER JOIN dreDocuments ON documentsRepo.DocumentRouteNumber = dreDocuments.DocumentRouteNumber ELSE
INSERT INTO documentsRepo (DocumentTypeID, DepartmentID, DocumentRouteNumber, SOURCE, Destination)
SELECT DocumentTypeID,
   DepartmentID,
   DocumentRouteNumber,
   SOURCE,
   Destination
FROM dreDocuments

您可以使用“合并”或尝试使用以下代码:

IF (EXISTS
  (SELECT documentsRepo.DocumentRouteNumber
   FROM documentsRepo
   INNER JOIN dreDocuments ON documentsRepo.DocumentRouteNumber = dreDocuments.DocumentRouteNumber))
UPDATE DocumentsRepo
SET documentsRepo.documentTypeID = dreDocuments.DocumentTypeID,
documentsRepo.DepartmentID = dreDocuments.DepartmentID
FROM documentsRepo
INNER JOIN dreDocuments ON documentsRepo.DocumentRouteNumber = dreDocuments.DocumentRouteNumber ELSE
INSERT INTO documentsRepo (DocumentTypeID, DepartmentID, DocumentRouteNumber, SOURCE, Destination)
SELECT DocumentTypeID,
   DepartmentID,
   DocumentRouteNumber,
   SOURCE,
   Destination
FROM dreDocuments

您还可以通过
merge
实现类似的功能。请检查是否有任何错误?您也可以通过
merge
获得类似的功能。请检查是否有任何错误?