Мисля, че истинският проблем е, че RFQ_ID, Action_Time
не трябва да бъде първичен ключ. Създайте сурогат
първичен ключ и поставете неуникален индекс на RFQ_ID, Action_Time
.
Актуализация :Ако наистина искате да се придържате към съществуващия си дизайн, можете да направите това, което поискахте, но да използвате 10 милисекунди вместо една милисекунда между всеки ред, за да компенсирате ниската точност на датата и часа. Можете да използвате номера на реда, за да определите колко милисекунди да добавите, така че да получите различно времево клеймо за всеки ред:
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