Myślę, że prawdziwym problemem jest to, że RFQ_ID, Action_Time
nie powinien być kluczem podstawowym. Utwórz surrogat
klucz podstawowy i umieść nieunikalny indeks w RFQ_ID, Action_Time
.
Aktualizacja :Jeśli naprawdę chcesz trzymać się istniejącego projektu, możesz zrobić to, o co prosiłeś, ale używając 10 milisekund zamiast jednej milisekundy między każdym wierszem, aby zrekompensować niską precyzję daty i godziny. Możesz użyć numeru wiersza, aby określić, ile milisekund należy dodać, aby uzyskać inną sygnaturę czasową dla każdego wiersza:
INSERT INTO QSW_RFQ_Log
(RFQ_ID, Action_Time, Quote_ID, Note)
SELECT
RFQ_ID,
DATEADD(millisecond, 10 * ROW_NUMBER() OVER (ORDER BY Quote_ID), GETDATE()) AS Action_Time,
Quote_ID,
'Added to RFQ on Initialization' AS Note
FROM QSW_Quote