sql >> Databáze >  >> RDS >> Sqlserver

Přidání milisekund k DateTime v TSQL INSERT INTO

Myslím, že skutečný problém je v tom, že RFQ_ID, Action_Time by neměl být primární klíč. Vytvořte náhradníka primární klíč a vložte nejedinečný index do RFQ_ID, Action_Time .

Aktualizovat :Pokud se opravdu chcete držet svého stávajícího návrhu, můžete udělat to, co jste požadovali, ale použít 10 milisekund místo jedné milisekundy mezi každým řádkem, abyste kompenzovali nízkou přesnost datumu a času. Pomocí čísla řádku můžete určit, kolik milisekund přidat, abyste pro každý řádek získali jiné časové razítko:

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


  1. mysql:přístup odepřen na information_schema

  2. EXECUTE of SELECT ... INTO není implementováno

  3. Obnovení hlavní databáze SQL Server

  4. Jak mohu vrátit více identických řádků na základě pole množství v samotném řádku?