08. december 2006 - 08:59
Der er
5 kommentarer og 1 løsning
Bruge resultat af stored procedure
Kunne ikke finde på en mere sigende overskrift. :( Koden som den ser ud p.t. ************************************************************** USE msdb EXEC sp_start_job @job_name = 'mitJob1' BEGIN WAITFOR DELAY '00:00:10' EXEC sp_help_job @job_name = 'mitJob1' ,@job_aspect = N'job' ,@job_type = null ,@owner_login_name = null ,@subsystem = null ,@category_name = null ,@execution_status = 4 IF @execution_status = 4 BEGIN USE minDatabase EXECUTE..minSP END END ************************************************************** Det jeg ønsker at gøre er: 1. Starte et job 2. Køre en SP når jobbet er færdigt Hvordan kan jeg bruge @execution_status i min kode IF @execution_status = 4 virker ikke.
Annonceindlæg tema
Offentlig digitalisering
Fra effektivisering til digital suverænitet. Hvordan skaber det offentlige en digital fremtid med AI, sikkerhed og kontrol i centrum?
08. december 2006 - 09:21
#1
Er det måske noget herhenad? (med min SP og params - selvfølgelig) SELECT OBJECTPROPERTY(OBJECT_ID('dbo.sp_test'),'IsMSShipped') AS 'System Object?', status, status & 0xC0000000 FROM sysobjects WHERE NAME = 'sp_test'
08. december 2006 - 09:31
#2
Kan ikke se hvordan jeg skal få fat i resultatet af EXEC sp_help_job Hvis parameterne er opfyldt, returneres der noget i SQL Analyzer, ellers ikke, men hvordan kan jeg bruge denne information til at bestemme om den efterfølgende kode skal afvikles eller ej...?
08. december 2006 - 09:57
#3
Er kommet frem til følgende: USE msdb EXEC sp_start_job @job_name = 'mitJob1' DECLARE @ReturnValue int BEGIN WAITFOR DELAY '00:00:05' EXEC @ReturnValue = sp_help_job @job_name = 'mitJob1' ,@job_aspect = N'job' ,@job_type = null ,@owner_login_name = null ,@subsystem = null ,@category_name = null ,@execution_status = 4 IF @ReturnValue is null BEGIN USE minDatabase EXECUTE..minSP END END Men koden stopper når SQL Analyzer har udskrevet resultatet af sp_help_job. :(
08. december 2006 - 10:12
#4
Ovenstående virker, men kun hvis begge job bliver færdige inden 5 sek., jeg har brug for en loop, så BEGIN gentages hvert 5. sek indtil @ReturnValue is not null.....hvordan skal koden SÅ se ud?
08. december 2006 - 10:13
#5
Sorry, omvendt, jeg har ændret koden til IF @ReturnValue is not null så loopet skal køres indtil @ReturnValue is null
08. december 2006 - 10:45
#6
Ok, fik det til at virke...!
Computerworld tilbyder specialiserede kurser i database-management