sql >> Database >  >> RDS >> Sqlserver

Afhankelijkheid van SQL Server Agent-taak

Bewaar alle taakdetails in één tabel, inclusief taakstatus, d.w.z. in uitvoering, voltooid. Wanneer de dagelijkse taak wordt uitgevoerd, moet u controleren of de 4e taak met succes is voltooid, vervolgens uw dagelijkse taak starten en na voltooiing van de 4e taak uw dagelijkse taak activeren.

create TABLE [dbo].[tblDailyJob](
    [JobId] [int] NOT NULL,
    [JobDesc] [varchar](500) NOT NULL,
    [JobStartTime] [datetime] NULL,
    [JobEndTime] [datetime] NULL,
    [JobStatus] [int] NOT NULL,
 CONSTRAINT [PK_tblDailyJob] PRIMARY KEY CLUSTERED 
(
    [JobId] ASC
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
) ON [PRIMARY]

ALTER TABLE [dbo].[tblDailyJob] ADD  CONSTRAINT [DF_tblDailyJob_JobStatus]  DEFAULT ((0)) FOR [JobStatus]
GO

taakstatus- 0 Niet gestart,1 In uitvoering,2 Voltooid,3 Mislukt

insert into tblDailyJob values(1,'1st Job',null,null,0)
insert into tblDailyJob values(2,'2nd Job',null,null,0)
insert into tblDailyJob values(3,'3rd Job',null,null,0)
insert into tblDailyJob values(4,'4th Job',null,null,0)
insert into tblDailyJob values(5,'Daily Job',null,null,0)

begintijd instellen voordat de taak wordt uitgevoerd en de eindtijd en taakstatus na voltooiing van de taak

activeer na voltooiing van de 4e taak uw dagelijkse taak of als u deze handmatig activeert, controleer dan of de 4e taak is voltooid of niet

je kunt hiervoor ook de taakplanning gebruiken.



  1. MySQL groeperen op met linker join

  2. SQL:subquery heeft te veel kolommen

  3. Kap alle tabellen af ​​(waarvan de meeste beperkingen hebben). Hoe ze tijdelijk te laten vallen

  4. Postgresql base64-codering