请参阅下图。我是sql语法的新手,我有以下更新语句和subselect。我不确定这是正确的方法,但这就是我所拥有的。
我想要检查的是LastRestartTime
,如果大于24小时RestartInterval
,请将重启时间更新为当前时间。
我有一个exe会检查表LastRestartTime
,如果Active=1 and RestartInterval >=24
,它会终止并重新启动(或者只是启动进程,如果它已经停止)进程。
然后,我希望程序将LastRestarttime
更新为当前时间。
我不知道该怎么做。
update any_table.dbo.thisDatabase
set LastRestartTime = GetDate()
where ProcessName In (Select ProcessName
from any_table.dbo.thisDatabase
where LastRestartTime > 24);
答案 0 :(得分:2)
看起来你不需要子查询,请尝试:
UPDATE any_table.dbo.thisDatabase
SET LastRestartTime = CURRENT_TIMESTAMP
WHERE LastRestartTime <= DATEADD(HOUR, -24, CURRENT_TIMESTAMP);