Saya pikir masalah sebenarnya adalah RFQ_ID, Action_Time
seharusnya tidak menjadi kunci utama. Buat pengganti
kunci utama dan letakkan indeks non-unik pada RFQ_ID, Action_Time
.
Perbarui :Jika Anda benar-benar ingin tetap menggunakan desain yang ada, Anda dapat melakukan apa yang Anda minta tetapi menggunakan 10 milidetik alih-alih satu milidetik di antara setiap baris, untuk mengimbangi rendahnya presisi datetime. Anda dapat menggunakan nomor baris untuk menentukan berapa milidetik yang akan ditambahkan sehingga Anda mendapatkan stempel waktu yang berbeda untuk setiap baris:
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