SqlServer 2008 时间戳修改

Timestamp Modification in SqlServer 2008

在 table 中我有 claimIdpaidDate。对于给定的 paidDate,我有 20 个 ClaimIDpaidDate 数据类型是日期时间。因此,业务需要付款日期对所有 ClaimID 都是唯一的。那么如何在 sqlserver.. 中更新 PaidDate 的唯一时间戳部分?

在支付日期列中使用默认的 getdate()

您可以使用:

DATEADD(MINUTE, ClaimID, PaidDate)

这将保留 paidDate 值,但会添加 ID 的分钟数。 如果 ID 非常大,您可能需要分发一个 ROW_NUMBER 并用它来添加分钟数。

@罗宾

将所有 claimid 保存在游标中并逐个更新,更新语句后保留 WAITFOR '00:00:01' 子句....每条记录将以 1 秒的差异更新...

@罗宾...

declare @claimid int
declare cur CURSOR FOR
select claimid from dbo.claimsID order by claimid
begin
open cur
FETCH next FROM cur 
into @claimid
WHILE @@FETCH_STATUS = 0   
begin
update dbo.claimsID set paiddate=getdate() where claimid=@claimid
waitfor delay '00:00:01'

FETCH next FROM cur 
into @claimid
end

CLOSE cur   
DEALLOCATE cur
end