В моем приложении у меня есть отчет под названием «Daily Exception Report», используемый для отображения исключений из 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 = Exec usp_refresh_dailyreport
если @ ReturnValue = 1
затем
InvestorReference ExceptionReason First_reported_dt
Recent_reported_dt relativeref report_gen_date
442643169642 Nil Balance 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 6:30:00
2012-04-23 23:58:00 452750423823 NULL
Ребята из вышеперечисленных данных таблицы «ExceptionFirstReported» последние две строки идентичны и содержат один и тот же relativeref (но не null). Извините, ребята, 'relativeref' не является нулевым полем, но я могу хранить пустые данные как первую строку.
thnk buddy.The проблема в том, что я не могу добавить индекс в таблицу, потому что с основным индексом, добавленным в таблицу, если запрос вставки пытается вставить дубликат, процесс остановит ошибку.Я работаю в банковской системе. Этот отчет должен создаваться ежедневно. – user1373129
@ Ангел Neuschitzer thnk u .. Позвольте мне проверить abt темы .. – user1373129