【发布时间】:2018-12-31 10:37:24
【问题描述】:
我想创建一个包含两列(id int,今天日期时间)的表,并使用 while 循环每 1 秒插入一次当前日期。但是,结果表显示所有行的时间相同。下面是我的代码。谁能帮我理解我做错了什么,好吗?谢谢!
declare @mytable table (id int, today datetime)
declare @id int=1
declare @today datetime=getdate()
while @id<10
begin
waitfor delay '00:00:01'
insert into @mytable values (@id,@today)
set @id=@id+1
end
【问题讨论】:
-
你应该在
waitfor delay '00:00:01'之后写set @today = getdate() -
你为什么要把它赋给一个变量呢?还有你为什么需要这个?
-
@ChetanRanpariya 非常感谢!
-
你真正想在那里做什么?也许有更好的方法来做到这一点(当然是循环)。顺便说一句,更新表 向其中插入数据。
标签: sql sql-server stored-procedures