我正在准备一个ssis作业,在这里我将一个.cvsv文件导入ole db destination(sql数据库)。我们每天都会拿到这些文件。csv文件包含医生的记录。每一行代表一个医生。下图显示了我如何能够成功地做到这一点。到目前为止没有问题。sql - SSIS:如何检查记录是否不存在于平面文件中但存在于数据库中-LMLPHP
以下是我需要的帮助:
如果医生不再活动,我们将得到相同的.csv文件,但没有他/她的记录。如何检查记录是否在.CSV文件中,但是否存在于SQL数据库中?我需要更新sql数据库中的doctor行,并将该行的isactive字段更新为false。

最佳答案

当然,这是psuedo代码。

SELECT DoctorID
FROM DrTable
where NOT EXISTS (select DoctorID from CSVTable where CSVTable.DoctorID=DrTable))

您可以使用以下语句在同一语句中执行更新:
UPDATE DrTable

Set IsActive = 0

WHERE Doctorid IN (   SELECT DoctorID
    FROM DrTable
    where NOT EXISTS (select DoctorID from CSVTable where CSVTable.DoctorID=DrTable)))

07-26 06:27