Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

travail en cours d'exécution

3 réponses
Avatar
Armen BATRIKIAN
Dans une procédure stockée, je veux lancer un travail.

J'utilise pour cela msdb..sp_start_job.



Si je lance un travail qui s'exécute déjà, cela génère une erreur : Normal.



Je veux donc, dans cette procédure stockée, connaître l'état du travail (en
cours d'exécution ou pas) avant de le lancer, si besoin.



La procédure msdb..sp_help_job me permet bien de savoir si ce travail s'exécute
ou pas. Mais c'est une procédure stockée, je ne peux pas l'utiliser avec un
curseur pour connaître le résultat.



Je suppose que je peux connaître l'état de mon travail dans une table
system, mais je ne sais pas laquelle.





Comment puis-je connaître l'état de mon travail de manière à pouvoir l'exploiter
le résultat dans le reste de ma procédure stockée ?



Peut-on parcourir le jeu de résultat issu d'une procédure stocké à l'aide d'un
curseur.



Dans quelle table système puis-je savoir si le travail est lancé ou pas ?





Merci d'avance

3 réponses

Avatar
Sylvain Lafontaine
J'imagine que vous pouvez manipuler la procédure stockée sp_help_job de la
même façon que les autres PS: stockez le résultat de sp_help_job dans une
table temporaire avec EXEC ou utiliser un OPENQUERY (ou OPENROWSET, je ne me
souviens plus exactement) pour lire le résultat de cette procédure dans une
requête Select.

S. L.

"Armen BATRIKIAN" wrote in message
news:422c71ba$0$6573$
Dans une procédure stockée, je veux lancer un travail.

J'utilise pour cela msdb..sp_start_job.



Si je lance un travail qui s'exécute déjà, cela génère une erreur :
Normal.



Je veux donc, dans cette procédure stockée, connaître l'état du travail
(en cours d'exécution ou pas) avant de le lancer, si besoin.



La procédure msdb..sp_help_job me permet bien de savoir si ce travail
s'exécute ou pas. Mais c'est une procédure stockée, je ne peux pas
l'utiliser avec un curseur pour connaître le résultat.



Je suppose que je peux connaître l'état de mon travail dans une table
system, mais je ne sais pas laquelle.





Comment puis-je connaître l'état de mon travail de manière à pouvoir
l'exploiter le résultat dans le reste de ma procédure stockée ?



Peut-on parcourir le jeu de résultat issu d'une procédure stocké à l'aide
d'un curseur.



Dans quelle table système puis-je savoir si le travail est lancé ou pas ?





Merci d'avance





Avatar
Armen BATRIKIAN
Bonjour et merci de votre réponse.



J'avais bien pensé à utiliser les fonctions de type « openquery », mais je
voulais savoir s'il y avait un autre moyen, sans passer par un « serveur
lié ».



Vous avez donné comme indication de stocker le jeu de résultat issu d'une
procédure stockée dans une table temporaire.



J'ai regardé l'aide en ligne concernant la méthode « execute » et n'ai
trouvé aucune indication sur la façon de faire.



Pouvez vous m'aider sur la syntaxe ou la manière de faire cela.



Cordialement



A.B.



"Sylvain Lafontaine" <sylvain aei ca (fill the blanks, no spam please)> a
écrit dans le message de news: OQKIdr$
J'imagine que vous pouvez manipuler la procédure stockée sp_help_job de la
même façon que les autres PS: stockez le résultat de sp_help_job dans une
table temporaire avec EXEC ou utiliser un OPENQUERY (ou OPENROWSET, je ne
me souviens plus exactement) pour lire le résultat de cette procédure dans
une requête Select.

S. L.

"Armen BATRIKIAN" wrote in message
news:422c71ba$0$6573$
Dans une procédure stockée, je veux lancer un travail.

J'utilise pour cela msdb..sp_start_job.



Si je lance un travail qui s'exécute déjà, cela génère une erreur :
Normal.



Je veux donc, dans cette procédure stockée, connaître l'état du travail
(en cours d'exécution ou pas) avant de le lancer, si besoin.



La procédure msdb..sp_help_job me permet bien de savoir si ce travail
s'exécute ou pas. Mais c'est une procédure stockée, je ne peux pas
l'utiliser avec un curseur pour connaître le résultat.



Je suppose que je peux connaître l'état de mon travail dans une table
system, mais je ne sais pas laquelle.





Comment puis-je connaître l'état de mon travail de manière à pouvoir
l'exploiter le résultat dans le reste de ma procédure stockée ?



Peut-on parcourir le jeu de résultat issu d'une procédure stocké à l'aide
d'un curseur.



Dans quelle table système puis-je savoir si le travail est lancé ou pas ?





Merci d'avance









Avatar
Sylvain Lafontaine
Je ne suis pas sûr mais n'est-il pas possible d'utiliser un Select Into ...
Exec ... pour insérer directement le résultat d'une procédure stockée dans
une nouvelle table ou encore, avec l'autre syntaxe, dans une table déjà
existante?

Cela permettrait de simplifier les choses. Je vais faire des tests plus
tard à ce sujet.

S. L.

"Armen BATRIKIAN" wrote in message
news:422ef3c0$0$6574$
Bonjour et merci de votre réponse.



J'avais bien pensé à utiliser les fonctions de type « openquery », mais je
voulais savoir s'il y avait un autre moyen, sans passer par un « serveur
lié ».



Vous avez donné comme indication de stocker le jeu de résultat issu d'une
procédure stockée dans une table temporaire.



J'ai regardé l'aide en ligne concernant la méthode « execute » et n'ai
trouvé aucune indication sur la façon de faire.



Pouvez vous m'aider sur la syntaxe ou la manière de faire cela.



Cordialement



A.B.



"Sylvain Lafontaine" <sylvain aei ca (fill the blanks, no spam please)> a
écrit dans le message de news: OQKIdr$
J'imagine que vous pouvez manipuler la procédure stockée sp_help_job de
la même façon que les autres PS: stockez le résultat de sp_help_job dans
une table temporaire avec EXEC ou utiliser un OPENQUERY (ou OPENROWSET,
je ne me souviens plus exactement) pour lire le résultat de cette
procédure dans une requête Select.

S. L.

"Armen BATRIKIAN" wrote in message
news:422c71ba$0$6573$
Dans une procédure stockée, je veux lancer un travail.

J'utilise pour cela msdb..sp_start_job.



Si je lance un travail qui s'exécute déjà, cela génère une erreur :
Normal.



Je veux donc, dans cette procédure stockée, connaître l'état du travail
(en cours d'exécution ou pas) avant de le lancer, si besoin.



La procédure msdb..sp_help_job me permet bien de savoir si ce travail
s'exécute ou pas. Mais c'est une procédure stockée, je ne peux pas
l'utiliser avec un curseur pour connaître le résultat.



Je suppose que je peux connaître l'état de mon travail dans une table
system, mais je ne sais pas laquelle.





Comment puis-je connaître l'état de mon travail de manière à pouvoir
l'exploiter le résultat dans le reste de ma procédure stockée ?



Peut-on parcourir le jeu de résultat issu d'une procédure stocké à
l'aide d'un curseur.



Dans quelle table système puis-je savoir si le travail est lancé ou pas
?





Merci d'avance