새 작업이 데이터베이스에 추가 될 때 SQL Server에서 만든 datetime
이 있습니다. 작업이 데이터베이스에 추가 된 후 3 시간이 지나면 로그 레벨이 완료되지 않고 고유 작업 ID가있는 작업의 상태가 변경되어야합니다.날짜/시간 비교 업데이트 두 열
이것은 내가 지금까지 가지고있는 것입니다. (상태를 확인하지 않고)
use DistributedComputing
if exists (select * from sys.objects where type = 'P' and name = 'proc_dc_timeout')
drop procedure proc_dc_timeout
go
create procedure proc_dc_timeout
AS
declare @JobID int
begin
if exists (select StartDate from Job where JobID = @JobID and DATEDIFF(hh,StartDate,GETDATE()) > 3)
update Job
set LogLevel = 1, Status = 'error'
end
go
execute proc_dc_timeout
그러나 쿼리를 실행해도 아무런 영향을 미치지 않습니다. 도와주세요
'날짜'는 날짜와 시간을 포함합니다. 'DATEDIFF'를 확인하십시오. – vulkanino
업데이트 구문에 where 절이 필요할 수 있습니다. if 문을 전달하면 ** 모든 ** 행을 업데이트합니다. –