我想從一個表中選擇值到另一個表中並使每行都插入一個唯一的日期時間條目。我遇到的問題是GETDATE()或SYSUTCDATETIME()函數似乎不夠快,我得到重複的日期時間條目。如何將記錄從一個表插入另一個表並插入具有唯一日期時間值
例如 創建表#T1 (tnum INT)
insert into #T1 select 1
insert into #T1 select 2
insert into #T1 select 3
create table #T2
(
Id int identity(1,1),
tnum int,
entrydate datetime
)
insert into #T2 SELECT #T1.tnum, getDate() FROM #T1
select * from #T2
這導致以下
1 1 2014-10-01 11:14:15.673
2 2 2014-10-01 11:14:15.673
3 3 2014-10-01 11:14:15.673
我的表設計使用datetime列作爲唯一索引的一部分,我需要這些是唯一的。我希望的結果會是這樣的
1 1 2014-10-01 11:14:15.673
2 2 2014-10-01 11:14:15.674
3 3 2014-10-01 11:14:15.675
我使用的是Microsoft SQL Server 2008的
「GETDATE()或SYSUTCDATETIME( )功能似乎不夠快,我得到重複的日期時間條目。「你是不是認爲看起來*速度太快,因爲你得到重複的日期?這聽起來像你試圖使用日期時間作爲主鍵或類似的,是否有這樣的原因? – Kritner 2014-10-01 15:31:12
爲什麼不使用TimeStamp字段? – ericpap 2014-10-01 15:32:26
然後修復你的餐桌設計。 – Paparazzi 2014-10-01 16:04:14