我有一个表格,该表格按月插入患者记录及其账单明细。让我们说表“ Paitent_Details”。在每个月的第一天,将插入当月的某些记录。在下个月,我只希望插入那些月份的记录,而不是所有记录。
当前,我已经编写了一个SP来获取结果,然后将记录存储在temp表变量中,然后将记录插入Patient_Details表中。
例如,对于2019年9月,我为9月插入了125条记录。对于2019年10月,我想插入100条记录,但是在插入2019年10月的100条记录之前,它先运行了125条记录。因此,理想情况下,记录总数应该是225(125 + 100),而记录实际上是350(125 + 125 + 100)
我想设置一个逻辑来检查是否插入了2019年9月的数据,如果要忽略则忽略并仅插入2019年10月的记录。
答案 0 :(得分:0)
尝试使用左外部联接检查记录是否存在,以保持插入幂等:
INSERT INTO b (Patient_id, DOS, CPT, DetailId)
SELECT a.Patient_Id, a.DOS, a.CPT, a.DetailId
FROM SourceTable_a a
LEFT OUTER JOIN DestinationTable_b b ON b.DetailId = a.DetailId
WHERE b.DetailId IS NULL