在我的应用程序中,我有一个名为“每日异常报告”的报告,用于显示 ISA 的异常情况。在此表中,我看到重复的条目(报告中完全相同的两个行)。
技术细节。
异常报告将与具有重复条目的table
调用中可用的数据一起显示。用来排入的ExceptionFirstReported
就是在。Insert Statement
insert
ExceptionFirstReported
stored procedure
usp_Refresh_Daily_Exception_Report
INSERT INTO ExceptionFirstReported(
InvestorReference, ExceptionReason, First_Reported_Date, RelativeRef)
SELECT InvestorReference, ExceptionReason, Dateupdated, RelatedInvRef FROM (
SELECT * FROM DailyExceptionReport As DER
WHERE NOT EXISTS
(SELECT ExcepRptd.InvestorReference
FROM ExceptionFirstReported AS ExcepRptd
WHERE DER.InvestorReference = ExcepRptd.InvestorReference
AND DER.ExceptionReason = ExcepRptd.ExceptionReason
AND DER.RelatedInvRef = ExcepRptd.RelativeRef))
AS CI
JOIN currentISAs AN CI.InvestorReference = Status_Inv_Ref
我们认为此语句在两个不同的实例中不能有重复的条目,因为不会有具有相同InvestorReference
的行ExceptionReason
和 `RelatedInvRef.
但是,我们有重复的输入。这是insert
用于将行插入到table
. 并且这些表格DailyExceptionReport
之前currentISAs
没有包含重复项。
上述插入查询已在存储过程“usp_refresh_dailyreport”中调用,并且 SP 在一个周期中仅执行一次。
@returnvalue = 执行 usp_refresh_dailyreport
如果@返回值 = 1
然后
InvestorReference ExceptionReason First_reported_dt
Recent_reported_dt relativeref report_gen_date
442643169642 零余额 2012-04-11 09:54:00
2012-05-04 23:58:00 NULL
442643169642 > 一个 ISA 2012-04-21 06:30:00 2012-04-23 23:58:00 452750423823 NULL
442643169642 > 一个 ISA 2012-04-21 06:30:00
2012-04-23 23:58:00 452750423823 NULL
上面的'ExceptionFirstReported'表数据中的家伙最后两行是相同的,并且包含相同的relativeref(非空)。抱歉,“relativeref”不是空字段,但我可能会像第一行一样保留空白数据。